7

Vim 实用指南

 3 years ago
source link: http://blog.danthought.com/programming/2015/02/14/vim-pratical-guide/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Vim 实用指南

博客来自于但江的思考,关于编程、设计、商业和生活

Vim 实用指南

Vim 是 UNIX 系统自带 vi 编辑器的改良版,其高度可配置的特性让文本编辑变得很高效,Vim 通常被认为是程序员的文本编辑器,配合一些插件来写代码很流畅。本文不是 Vim 详细入门指南,而是对常见问题的收录整理,你可以买一本 《Vim实用技巧》 来学习使用 Vim。

Vim 学习和使用建议

学习 Vim 最好的方式不是了解所有的命令组合,这样毫无意义,首先需要知道基本的一些概念,然后就实际地用起来,当你发现你在重复一些操作命令的时候,想一想 Vim 可以通过什么方法来帮助你减少重复从而提高效率。

命令 + 动作(或者文本对象)= 行动

单字符命令

  • x 删除光标下的字符
  • r 替换光标下的字符
  • s 删除光标下字符并进入插入模式
  • d 删除
  • c 修改
  • y 拷贝
  • p 粘贴
  • > 右缩进
  • < 左缩进
  • = 自动缩进
  • g~ 切换大小写
  • gu 变小写
  • gU 变大写
  • f{char} 移动光标到该字符
  • t{char} 移动光标到该字符的前一个位置
  • b 上一个文字开头
  • w 下一个文字开头
  • j 下一行
  • k 上一行
  • h 前一列
  • l 后一列
  • ^ 行头
  • $ 行尾
  • NG 到第 N 行
  • gg 页首
  • G 页尾
  • iw 对当前文字的行动
  • it 对 XML 或者 HTML 标签中内容的行动
  • i{ 对大括号中内容的行动,也可以是 ( 或者 [

提高效率,不要重复

重复命令 命令作用 撤消命令 . 重复最后一次普通模式命令 u n 重复最后一次搜索 N ; 重复最后一次字符级别搜索 , // 重复最后一次搜索 无

  1. * 查找光标下的单词
  2. cwHello<Esc> 修改这个单词并退出插入模式
  3. n 查找下一个单词
  4. . 重复命令
  • “+y 拷贝到剪贴板,+ 是剪贴板寄存器
  • “+p 从剪贴板粘贴
  • i 光标前进入插入模式
  • I 移动到行首并进入插入模式
  • a 光标后进入插入模式
  • A 移动到行尾并进入插入模式
  • o 在新的一行开始插入
  • O 在新的上一行开始插入
  • s 删除光标下字符并进入插入模式
  • v 进入字符级别的可视模式
  • V 进入行级别的可视模式

命令行模式

  • 通过可视模式来选择
  • :{start},{end} 指定开始行号和结束行号
  • % 选择所有
  • :[range]sort 排序
  • :[range]t{address} 拷贝
  • :[range]m{address} 移动
  • :[range]normal {normal mode command} 执行普通模式下的命令,如 :%normal A; 所有行后加;

Shell

  • !ls 运行 Shell 命令
  • :shell 开始交互式的 Shell 对话, $exit 结束

:%s/target/replacement/g % 是命令行模式选择所有,s/target/replacement 是替换命令,g 全局修饰符 i 大小写不敏感 c 需要确认

  • :n abc.rb 新建文件
  • :sav 另存为
  • <C-w> 命令可以用于在窗口间跳转
  • :sp 纵向分屏
  • :vsp 横向分屏

Buffer Explorer

  • / 根据名称查找

NerdTree

  • i 在新的纵向分屏窗口打开文件
  • s 在新的横向分屏窗口打开文件
  • <C-o> 向后
  • <C-i> 向前
  • gf 根据光标所在位置的名称跳转到相应文件,通常需要插件的帮助

使用 Vundle 来管理 Vim 插件很方便,只需要在 .vimrc 中申明然后就可以自动安装了

如果你觉得以上思考对你有帮助,请订阅博客


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK