Skip to content

Linux Opt: vim

x893675 edited this page Nov 29, 2020 · 2 revisions

vim常用命令记录

移动

指令 操作
w 移动到上一个单词
b 移动到下一个单词

快速退出

指令 操作
shift+zz 普通模式下快速保存退出

进入插入模式

指令 操作
i 当前光标插入
I(大写i) 行首插入
A 行尾插入
a 在光标后插入
o 向下插入一个新行
O 向上插入一个新行
cw 删除光标后的一个单词并进入插入模式

删除

指令 操作
x 向后删除
X 向前删除
dw 删除光标后的一个单词
d$ 删到行尾
d^ 删到行首
dG 删到文件尾
d1G 删到文件头

重复命令

指令 操作
. 重复上一次执行的命令

游标

指令 操作
nG 跳转到第n行
gg 光标移动到第一行
G 光标移动到最后一行
$ 移动到行尾
^ 移动到行首
w 移动到下一个单词
b 移动到上一个单词
e 移动到当前单词的末尾

复制粘贴

指令 操作
yy 复制整行
y^ 复制到行首(包含光标处字符)
y0 复制到行首(不包含光标处字符)
y$ 复制到行尾(包含光标处字符)
yw 复制一个单词
y2w 复制两个单词
yG 复制文本末
y1G 复制到文件开头
p 粘贴到下行
P 粘贴到上行

大小写转换

指令 操作
~ 切换大小写

缩进

指令 操作
>> 向右缩进
<< 向左缩进

多行缩进:

  1. 在一行上,">>",或"<<"(连按两下),可以缩进或缩出,用"n>>","n<<"(n自然数),表示自动缩进从当前行起的下面n行。

  2. 按v或者V进入visual状态,使用按键j/k/h/l选定多行,用“>或<”,进行缩进或缩出。

  3. 使用“:起始行,终止行 < ”,如 :2,9> 表示2到9行向右缩进一个tab。

  4. 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==,表示自动缩进从当前行起的下面n行,若已排版正确则无变化。另外,使用gg=G可对整篇代码进行排版

多行注释

添加多行注释

  • 首先按esc进入命令行模式下,按下Ctrl + v,进入块模式;
  • 按0键光标移动到行首后使用jk键上下选择需要注释的多行;
  • 按下键盘(大写)“I”键,进入插入模式;
  • 然后输入注释符(“//”、“#”等);
  • 最后按下“Esc”键。(注:在按下esc键后,会稍等一会才会出现注释)

删除多行注释

  • 首先按esc进入命令行模式下,按下Ctrl + v, 进入块模式;
  • 按0键光标移动到行首,选定要取消注释的多行;
  • 按下“x”或者“d”。注意:如果是“//”注释,需要执行两次该操作,如果是“#”注释,一次即可。

行末追加分号

  • 首先按esc进入命令行模式下,按下Ctrl + v, 进入块模式;
  • 选择需要注释的多行,再按$键,会选中所有行的光标所在位置到行尾的块区
  • 接着输入A命令表示在行末追加字符,输入“;”
  • 再按Esc

NERDTree插件

ctrl + w + w在页面区域间跳转

tabpage

  • :tabedit $FILENAME: 在新标签页中打开文件 $FILENAME, 如果文件 $FILENAME 不存在, 就新建它
  • :tabnew $FILENAME: 新建文件 $FILENAME 并在新标签页中打开
  • :tabclose $INDEX: 关闭第 $INDEX 个标签页。如果省略 $INDEX, 则关闭当前标签页。
  • :tabonly: 关闭除当前标签页以外的其它所有标签页。
  • :tabprevious: 切换至前一标签页。
  • :tabnext: 切换至下一标签页。
  • $INDEXgt: 切换至第 $INDEX 个标签页。如果省略 $INDEX, 则切换至下一标签页。
  • gT: 切换至前一标签页。
  • :tabs: 列出所有打开的标签页。