vim 常用命令

terminal 常用快捷键:

ctrl + shift +X:最大化某个窗口 或恢复

ctrl + page up/down: 切换tab

https://blog.csdn.net/iceman1952/article/details/109256515

 

http://blog.csdn.net/love__coder/article/details/6739670

行首或行尾添加

行首 :%s/^/your_word/

行尾 :%s/$/your_word/

按键操作:

注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如”#”,再按Esc,就会全部注释了。

删除:先按v,进入visual模式,横向选中列的个数(如”#”注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号(#)。

PS:当然不一定是shell的注释符”#”,也可以是”//”,或者其他任意的字符;vim才不知道什么是注释符呢,都是字符而已。

使用替换命令:

在全部内容的行首添加//号注释

:% s/^/\/\//g

在2~50行首添加//号注释

:2,50 s/^/\/\//g

在2~50行首删除//号

:2,50 s/^\/\///g

vim 查找区分大小写

:set ic (ignore case) 忽略大小写

:set noic 不忽略大小写

输入了上述指令, 当每次的查找操作都会受到当前设定的影响,不过每次在退出vim编辑后,再重新打开以后的设置仍旧失效。

第二种方法

/\CWord : 区分大小写的查找

/\cword : 不区分大小写的查找

这个操作针对当前的查找有效, 所以不必考虑下次查找操作是否会受到影响.

查找到之后,用n寻找下一个查找结果,N寻找上一个查找结果
--------------------- 
 

一、如果在终端中开没有打开vim,可以:

横向分割显示:

$ vim -o filename1 filename2  

纵向分割显示:

$ vim -O filename1 filename2

二、如果已经用vim打开了一个文件,想要在窗口中同时再打开另一个文件:

横向分割显示:

:vs filename

纵向分割显示:

:sp filename

其中,vs可以用vsplit替换,sp可以用split替换。

如果finename不存在,则会新建该文件并打开。

光标移动

上:k

下:j

左:l 『字母L小写』

右:h

上一行行首:- 『减号』

下一行行首:+

行首:0 『数字0』

行尾:$

单词词尾或后一个单词词尾:e

后一个单词词首:w

单词词首或前一个单词词首:b

跳转到特定行::行号 ( :5  :跳转到第5行 )

上一屏:ctrl + b

下一屏:ctrl + f

上半屏:ctrl + u

下半屏:ctrl + d

向上滚屏:ctr + y

向下滚屏:ctr + e

跳到文件头:gg

跳到文件尾:G

 

2、搜索

向后模式搜索:/ + 搜索模式

向前模式搜索:?+ 搜索模式

注意:结合n和N向前向后查找

 

3、追加或插入

光标右侧追加:a

光标行尾追加:A

光标左侧追加:i

光标行首追加:I  『i 的大写』

光标下方插入行:o 【字母o】

光标上方插入行:O 【字母o的大写】

n到m行行首插入#: :n,m s/^/#/g 『1到5行,行首插入wow :1,3 s/^/wow/g 』

n到m+l行行首插入#: :n,+l s/^/#/g『1到6行,行首插入# :1,+5 s/^/#/g 』

 

4、删除

删除光标:x

删除光标左侧:X

删除光标所在的单词:dw

删除当前行:dd

删除光标至行尾:d$或D

删除当前行及以下n-1行:ndd  『n是数字,是要删除的行数』

删除n到m行: :n,m d 『删除1到3行     :1,3 d』 当m 用$ 时,表示到文档尾

 

5、复制粘贴

     复制光标所在的单词:yw

     复制光标至行尾:y$ 或Y

复制当前行:yy

复制行n次:yyn

复制当前行及以下n-1行:nyy『n是数字,是要复制的行数』

复制n到m行,粘贴到k+1行: :n,m co k 『复制1到3行,粘贴到第5行     :1,3 co 4』

剪切n到m行,粘贴到k+1行: :n,m m k 『剪切1到3行,粘贴到第5行     :1,3 m 4』

粘贴到光标下:p

粘贴到光标上:P

6、撤销回复

撤销:u

恢复:ctrl + r

7、替换
     替换光标所在的字符:r
     替换一个单词:cw
     替换光标所在的前一个字符:cb
     替换光标至行尾的所有字符:c$
     替换当前行:cc
替换当前行的第一个old为new: :s/old/new
替换当前行的所有的old为new::s/old/new/g
替换当前行到最后行的第一个old为new::.,$s/old/new
替换当前行到最后行的所有old为new::.,$s/old/new/g
替换第n行到第m行的第一个old为new::n,m s/old/new
替换第n行到第m行的所有old为new::n,m s/old/new/g

替换所有行的第一个old为new: :%s/old/new

替换所有行的所有old为new: :%s/old/new/g

8、其他

查看当前设置::set all

显示行号::set nu

隐藏行号::set nonu

不保存退出::q

不保存强制退出::q!

保存编辑::w

保存并退出::wq

把两行连接在一起:J

把n行连接在一起:nJ      光标所在行及其下n-1行

执行shell命令::! shell  例如:查看到当前时间::! date

读取shell执行的结果,并把结果放在光标的后面::r!shell 例如:列出目录中的文件::r!ls

简单加密文件::X

vim +n filename 打开文件filename,并且把光标置于第n行行首

vim + filename 打开文件filename,并把光标置于最后一行行首

vim +/pattern filename 打开文件,并把光标置于第一个与pattern匹配的串行

vim -r filename 在上次vim崩溃处恢复filename

 

 

用过Ultraedit的朋友一定使用过一种搜索功能,就是可以把搜索的所有行列表出来。如下图所示:

Vim <wbr>-- <wbr>列出搜索结果

其实Vim也可以做到这个功能,就是使用quickfix窗口,具体方法如下。

[1]首先,使用vimgrep命令查找所有的结果

:vimgrep /pattern/ %

在当前文件中查找pattern,这个pattern支持正则表达式

[2]然后使用命令

:copen

就可以得到搜索列表了,用鼠标点击就可以到对应的行。

Vim <wbr>-- <wbr>列出搜索结果

如果不能用鼠标,也没关系,可以用Ctrl-w,Ctrl-w跳转到quickfix窗口,然后用移动命令走到对应的搜索行,然后用命令

:.cc就可以调到对应的搜索行了。

Vim列操作模式

有些情况列操作模式很有用,如:把其中的 "," 删除 或者把空格替换为"," python中的 narray的元素间是空格而C语音的数组的元素间是“,” 

 { 
  4.73689735e-01, -1.55774403e+00, -3.69617969e-01, -2.35297307e-01,
 -1.67827189e+00, -7.64885724e-01, -2.84404635e-01, -8.46990585e-01,

 ---

}

在 Vim 命令模式下,移动游标定位于某一个位置,键入 ctrl-v后状态栏上出现 VISUAL BLOCK 字样,即进入纵向编辑模式。移动游标以按需选择待编辑的区域。

  • 列删除
    d删除
  • 列插入
    I 进入行首插入模式
    ESC退出
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值