使用vim高效编程

快速选择

可视化模式 VISUAL

进入一般的可视化模式

命令模式下,
v - 命令进入的字符可视化模式(Characterwise visual mode), 文本选择是以字符为单位的
V - 命令进入的行可视化模式(Linewise visual mode), 文本选择是以行为单位的
ctrl-V/v - 进入的块可视化模式(Blockwise visual mode), 可以选择一个矩形内的文本, 类似于Notepad++和UE里的列编辑

代码块选择的可视化模式

vi{pattern character} 或者 va{pattern character}

例如:
vi" - 选中双引号之间的所有内容,但是不包含双引号;
va" - 选中双引号之间的内容且包括双引号
其他的还有 vi{, vi(, vi[, vi(, vi’

vis, vip, viw, viB, vib

vis - 将光标停留在段落中的任何字符上,该命令会选中一个段落(空行分隔),但不包含段首和段尾的空白字符
vip - 将光标停留在段落中的任何字符上,该命令会选中一个段落(空行分隔),包含段首和段尾的空白字符
viw - 将光标停留在某单词的任何字符上,该命令会选中整个单词
viB - 将光标停留在一个大括号内,使用该命令选中该大括号内的代码
vib - 将光标停留在一个小括号内,使用该命令选中该小括号内的代码

快速查找替换

单词操作

w - 下一个单词开头
b - 上一个单词开头
e - 如果光标在当前单词上(非结尾字符),则跳到当前单词结尾;否则跳到下一个单词的结尾

跳到上一个单词的结尾怎么办?vim应该没有提供单个字符的命令,可以使用组合be,即先跳到上一个单词,再跳到当前单词的结尾

行操作

0 - 移动光标到行首
^ - 移动光标到行首非空字符
$ - 移动光标到行尾
g_ - 移动光标到行尾非空字符

括号操作

% - 如果当前光标停留在非成对字符上,跳到下一个成对字符处;如果当前光标停留在成对字符上,则跳到与当前字符匹配的字符

(多)窗口操作

分割窗口(打开多个文件)

:split或**:new** 打开一个新窗口,光标停在顶层的窗口上
:split file或**:new file** 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。

移动光标到窗口

Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
Ctrl+wh 移动到左方的窗口
Ctrl+wl 移动到右方的窗口

关闭窗口

:close 最后一个窗口不能使用此命令,可以防止意外退出vim。
:q 如果是最后一个被关闭的窗口,那么将退出vim。
ZZ 保存并退出。

关闭所有窗口,只保留当前窗口
:only

录制宏

按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

引用文章
http://blog.jobbole.com/114641/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值