vim使用

2 篇文章 0 订阅
1 篇文章 0 订阅

1 . 上下左右移动

h: 左

j: 下

k:上

l: 右

n+(h/j/k/l) : 数字加上述命令表示向各个方向跳转n行


 2 . 跳转(行间/多行/单行)

gg : 跳转到全文首行

G : 跳转到最后一行

nG("数字+G"): 跳转到指定第n行;

H/M/L : 分别跳转到当前页面的顶端,尾端,中间 的首个非空字符

0(数字0):跳转到行头非空字符

$ : 跳转到行尾非空字符

[[ : 跳转到上一个函数的开始处

]] : 下一个函数的开始处

% : 跳转到匹配的括号( (,),{,},[,] )的另外一半的位置

ctrl + i : 跳转到下一个历史移动位置

ctrl + o(字母o) : 跳转到上一个历史记录位置

''''(两个引号) : 在两个历史记录之间跳转

zt : 以当前光标为参照,把当前光标所在行,移动到顶部(top)

zb: 以当前光标为参照,把当前光标所在行,移动到底部(button)

zz : 以当前光标为参照,把当前光标所在行,移动到中间

W : 下个字符串的开始

B : 上个字符串的开始

ctrl + b : 翻到上一页

ctrl + f : 翻到下一页

ctrl + d : 向下移动行

ctrl + u : 向上移动行


3 . 多行编辑

多行注释:

第一步: ctrl + v : 进入块编辑模式;

第二步:  上下移动, 选取需要编辑块(需要先把光标移动到行首)

第三步 : 按住大写i键,进入块插入模式

第四步: 输入注释符号(// , # ```等)

第五步 : 按esc,退出块编辑模式,完成(注释符号可能会稍延时出现)


删除多行注释:

第一步 : ctrl + v,进入块编辑模式

第二步 : 上下移动需要修改的块位置

第三部 : 按x或者d建,删除

第四步 : esc退出,完成(一次只能删除一个符号)


命令行删除或者添加行首:

在所有行的行首添加## :% s/^/##/g

在2到6行行首添加&&(需要转义):2,6 s/^/\&\&/g

去掉2~6行行首的&& :2,6 s/^&&//g

多行删除:

n,m, d: (数字+数字+m) 可以删除n到m之间的多行文本;

例如: 23, 34, d : 删除第23行到34行之间的内容


多行缩进:

 按v进入visual状态,选择多行,用>或<缩进或缩出 
 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次),  或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。


4 . 查找:

/ + 字符串 : 向下查找 

? + 字符串 : 向上查找 

: noh  :  取消查找到后高亮的文本的显示

执行完此两条命令之后,如果想要查找下一条记录, 可以通过n键继续执行正向查找, N: 反向查找(正向,反向是相对于/ 还是?的)

* : 查找当前光标所在的单词(n: 下一个匹配项,N: 上一个匹配项)

# : 高亮显示当前光标所在单词 (:noh  取消高亮


5 . 删除

dd : 删除当前行

x (小写) :  删除一个当前字符(相当于delete)

X(大写) :  删除一个当前字符之前的字符(相当于Backspace)

dG : 删除当前行到尾行

:1, 10d : 删除一到第十行的内容


6 . 复制粘贴

yy : 复制当前行

y+n+w (y+数字+w) : 复制当前单词之后的n个单词

y+n+W : 复制当前位置之后的n个字

y + (h/j/k/l) : 表示从当前位置复制附近的一个位置(j/k:两行 / h/l : 一个字符)

y + n +  (h/j/k/l) : 从当前位置复制多少行/字符

y+ G : 从当前复制至文档尾行

y + 1 + G : 从当前位置复制到文档首行

y + 0(数字0) : 从当前位置复制到当前行的行头

y + $ : 从当前位置复制到当前行行尾

p(小写) : 粘贴到游标之后

P(大写) : 粘贴到游标之前

shift + insert : 把当前粘贴板里面的内容粘贴进去(插入模式时候使用)


7 . 替换

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$ s/vivian/sky/g : 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 


特别的: (去掉window下面的^M )

使用命令:cat filename1 | tr -d “^V^M” > newfile
使用命令:sed -e “s/^V^M//” filename > outputfilename.

在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//. 

              :%s/^M$//g 

需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M.你必须要手工进行输入,而不是粘贴。


8 . 加入ctags"链接"

ctags -R * : 把一个目录下的所有文件的标记符号都记录下来,用于vim进行函数的跳转链接(ctrl + ] : 可以跳转)


9. 内容编辑回退

u : 编辑内容回到之前(一次一步)

ctrl + r : 重做(撤销之前的回退)


10. 不退出vim,执行shell命令

:!cmd
不退出vim 执行命令 cmd

:r !cmd
不退出vim执行命令cmd,并将cmd的输出内容插入当前文本中。

:shell
切换到shell里(此时并没有退出vim,可以理解成vim转入后台),你可以在shell中做任何操作,退出shell(比如用exit)后,会切换回原来的vim中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值