vim编辑器技巧备忘(初级-中级)

/ 2017-12-31 10:10:57 / 0评 / 0

“学习vim并且其会成为你最后一个使用的文本编辑器”
学习建议:

丢弃鼠标和小键盘
具有搭配使用各种按键的意识

 

 

 

1. 初级

1.1 编辑模式(Insert Mode)

编辑模式包括以下动作:

 

 

1.2 普通模式(Normal Mode)

1.3 命令模式

熟练上面的命令,已经可以满足日常工作要求,要提高效率可以学习vim的高级用法,如分屏显示、分页、标签功能、代码折叠、键盘映射。

1.4 可视化模式

visual mode多用于用键盘灵活选择文本。vV键进入,可以实现同时编辑多行(如注释)

2. 中级

2.1 高级组合命令

当光标在( ), [ ],< >, { }, " ", '' 内时,可以用ci, di, 或yi,加上(, [, <,{, ", '。这样可以改写/删除/复制( )内,[ ]内,< >内,{ }内," "内,' '内的内容

多行注释(块操作)

  1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;
  2. 在行首使用上下键kj选择需要注释的多行;
  3. 按下键盘(大写)I键,进入插入模式;
  4. 然后输入注释符(“//”、“#”等);
  5. 最后按下esc

删除多行开头的一个字符与此类似,删除多个字符也只要左右键,然后使用d。

另外一种多行注释的方式就是替换:

多行缩进
[ESC], Ctrl+v 选择行 <或>左右缩进,=自动缩进(gg=G的局部功能)

多行行末尾加上 >> ${log}:Ctrl+v /^echo
>>相当于tab键,一个缩进

多行删除

  1. 首先在命令模式下,输入set nu显示行号;
  2. 通过行号确定你要删除的行;
  3. 命令输入:32,65d,回车键,32-65行就被删除了

自动补全
在Insert模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能就出现了

2.2 分屏(split)

分割窗口(同时编辑多个文件)

另外一种不分屏,同时编辑多个文件的方法

vi file1 file2

2.3 折叠(fold)

主要应用在复杂脚本的场合,特别是函数比较多,逻辑结构比较复杂的代码。(:help folding
有6种方式来折叠代码

  1. manual //手工定义折叠
  2. indent //用缩进表示折叠
  3. expr  //用表达式来定义折叠
  4. syntax //用语法高亮来定义折叠
  5. diff //对没有更改的文本进行折叠
  6. marker //用标志折叠

indent
:set foldmethod=indent 设置缩进折叠,fdm为简写。只对当前会话有效,要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=indent

marker
注意与后文的mark不是同一东西,:set fdm=marker

2.4 标记

标记(mark)是vim提供的精确定位技术,只要你知道标记的名字,就可以使用命令直接跳转到该标记所在的位置。vim中的标记都有一个名字,这个名字用单一的字符表示。大写和小写字母(A-Za-z)都可以做为标记的名字,这些标志的位置可以由用户来设置;而数字标记0-9,以及一些标点符号标记,用户不能进行设置,由vim来自动设置。(:help mark-motions查看更多帮助)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注