vim指令

光标移动

h,j,k,l :左下右上移动
w,W,e,E:以词为单位往后跳,w表示跳到词的头部,e表示跳到词的尾部,小写包含标点
b,B :以单词为单位往前跳动,小写包含标点
^,0,$ :一行的开始/开始/结尾
Ctrl+f/b:上下翻页
gg,G :文档的开头/结尾
[N]gg/G :跳转到第N行
% :匹配括号移动
*/# :匹配光标所在单词,移动到下一个/上一个

进入插入模式

i,a :插入到光标的前/后面
I,A :插入到行头/行尾
o,O :在光标后/前新建一行
s :删除光标所在的一个字符
S :清空光标所在的一行(区别于dd删除一行)
Esc :退出插入模式

关闭/打开

:w :保存
:q :关闭
:wq,:x:保存并关闭
:q! :强制关闭
:e+路径:重新打开一个文件

搜索关键词

/pattern :往后搜索
?pattern :往前搜索
/\cpattern或/pattern\c:忽略大小写搜索
n,N :后一个/前一个搜索结果

查找替换

:s (即substitute)用于查找和替换字符串。语法如下:
:{作用范围}s/{待替换}/{替换后}/{替换标志}

  • 作用范围:
    s:当前行
    %s:全文
    ‘<,’>:选区。在Visual模式下选择区域后输入:会自动补全出来
    m,n:m-n行
    .,+2:当前行和接下来两行
  • 替换标志
    g:即global
    [空]:只替换从光标位置开始,到目标的第一次出现
    c:每一次替换都要确认,按下y表示替换,n表示不替换,a表示替换所有,q表示退出替换模式,l表示替换当前位置并退出。^E和^y是光标移动快捷键。

一个常用的例子 :
:%s/abc/def/gc在全局范围内替换abc为def,每次替换都要经过确认。

编辑剪切复制粘贴

d :删除选中内容
[N]dd :删除一行或N行
dw :删除一个单词
x,X :删除前一个/后一个字符
D :删除该该行光标以及之后的字符
y :复制选中内容
[N]yy:复制一行或N行
yw :复制一个单词
p :粘贴
J :合并下一行到上一行
r+[任意字符]:替换光标所在字符
,>> :将当前行右移一个单位
<< :将当前行左移一个单位(一个tab符)
,> :块右移
< :块左移
~ :切换块中内容的大小写

代码格式化

== :自动缩进当前行指令
8= :格式化当前光标接下来的8行
v+=:格式化选定的行 v 选中需要格式化的代码段

多标签打开文件

:tabe [文件路径]:新标签打开文件
gt/gT :切换下一个/上一个标签页
:tabr :切换到第一个标签页
:tabl :切换到最后一个标签页

窗口操作

:split :水平方向分割出一个窗口
:vsplit :垂直方向分割出一个窗口
:close :关闭窗口
:Ctrl+w+h/j/k/l:按方向切换到其他窗口
:Ctrl+w+w:轮换切换到其他窗口

视觉模式

v:以字符为单位选一块
V:以行为单位选多行
ctrl+v:矩形块选择模式

注:在多行的行头加字符方法:
  ctrl+v+I+[任意字符]+Esc+Esc

和系统的剪贴板交互

vim的剪贴板放在独立与系统剪切板的寄存器中,默认不能交互。

  • 首先确认vim开启该功能:vim --version | grep clipboard,clipboard前应为”+”,否则需要sudo apt-get install vim-gnome
  • 在~/.vimrc中加入这句:set clipboard=unnamed,这样vim使用y复制的数据自动同步到系统剪切板中

其他

. :重复最后一个命令
u :撤销
ctrl+r:恢复
[N][某操作]:重复该操作N 次
ctrl+n/p:插入模式下自动补全功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值