上古神器vim 使用指南和总结

vim 三种模式示意图

Vim三种模式.png

1.命令行模式

用户刚刚启动 vi/vim,便进入了命令模式。或者在任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi/vim进入命令模式。

进入输入模式

i: 插入光标前一个字符
a: 插入光标后一个字符
o: 向下新开一行,插入行首
I: 插入行首
A: 插入行未
O: 向上新开一行,插入行首

光标移动

←/h: 左移
→/l: 右移
↓/j: 下移
↑/k: 上移
  `例如向下移动30行, 可使用30↓/30j的组合按键`
n<Enter>: n为数字. 向下跳转n行
nG: n为数字. 移动到指定行. 例如 20G 则会移动到这个档案的第 20 行
gg: 光标移动文件开头
G: 光标移动到文件末尾

复制粘贴删除剪切

yy: 复制当前行
nyy: n为数字. 复制光标所在(包括)的向下 n 行,例如 20dd 则是删除 20 行  
dd: 删除(剪切)光标所在行,n dd 删除指定的行数 
ndd: n为数字. 删除(剪切)光标所在(包括)的向下 n 行,例如 20dd 则是删除 20 行  
p: 在光标所在位置下一行,粘贴
x: 删除光标后一个字符,相当于 Del 
X: 删除光标前一个字符,相当于 Backspace

查找命令

/: 输入想要查找的字符串
n: 下一个查找结果
N:上一个查找结果

其他常用命令

ZZ: 保存并退出
u: 撤销上一步操作 
Ctr+r: 反撤销
.: 重复上一次操作的命令
>>: 文本行右移 
<<: 文本行左移
v: 可视模式,方向键选中文本 
  可视模式可以配合 d、y、>>、<<实现对文本块的删除、复制、左右移
Ctrl+v: 可视块模式, 上下选取文本
  可视块模式可以实现批量注释: 
  选中需要注释的多行的开头, 再按Shift + i 进入编辑模式然后输入你想要在行首插入的字符,按ESC为每一行生效
  批量删除注释:
  选中要删除的字符,按d即可删除 

2.文本输入模式

在命令模式下输入插入命令i、附加命令a 、打开命令o都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi/vim当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

代码提示

Ctrl+n/p: 文本自动补全

3.末行模式

在命令模式下按下:(英文冒号)就进入了末行模式。
按ESC键可随时退出末行模式返回命令模式

保存命令

:wq/x: 保存并退出
:q!: 不保存, 强制退出

显示取消行号

:set nu(set number):显示行号
:set nonu:取消显示行号

替换命令

:%s/abc/123/g 将所有行的abc替换成123
:1, 10s/abc/123/g 将第一行至第10行之间的abc替换成123

粘贴模式
如果从别的地方复制的文本直接在vim中粘贴可能会出现缩进错乱,可以通过粘贴模式解决

:set paste 进入粘贴模式
:set nopaste 推出粘贴模式

4. 其他技巧

打开文件直接跳转到某一行

打开文件test并跳转到16行
vim test +16

跳转到某一行

nG 跳转到第n行

在vim中执行shell命令

:!command

在vim中打开另一个文件

:sp file (split) 水平切分窗口
:vsp file (vsplit) 垂直切分窗口
Ctrl+w+方向键  切换到前/下/上/后一个窗格
Ctrl+w+h/j/k/l  同上
Ctrl+w+w  依次向后切换到下一个窗格中

5.常用配置

在用户家目录~下添加.vimrc配置文件

set nu  " 显示行号
set ai  " 自动缩进 
set tabstop=4  " 设置tab键为4个空格
set shiftwidth=4  " 自动缩进时使用4个空格
set softtabstop=4  " 设置tab键设置的4个空格可配退格键一次删除
set expandtab  " 输入tab时自动将其转化为空格
set autoindent  " 自动对齐
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,593评论 9 467
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,217评论 0 3
  • 微信即将在订阅号、服务号、企业号的基础上增加应用好,昨天已经发布不过目前是在内测阶段。具体发布时间可能在年...
    1693c7e88afe阅读 198评论 0 0
  • 每次打卡都拖到很晚,也许坐在被窝里静下心来才更能接触到自己内心。应童的学问很好,我想像她一样落到实处,只有落到实处...
    天一生水L阅读 104评论 0 0
  • 最近刚听的一个段子: 王家卫有一次让他的演员翻译 I love you,有的演员翻译成我爱你。墨镜王说,怎么可以讲...
    松竹大船调阅读 401评论 6 6