vim相关技巧

vim模式:编辑模式(命令模式)——键盘操作通常解析为编辑命令;输入模式——键盘输入模式;末行模式——Vim内置的命令接口,执行Vim内置命令

vim配置文件: /etc/vimrc

模式转换:

编辑模式——> 输入模式:

i:在当前的光标所在的字符的前面,转入输入模式

I:在当前的光标所在的行首,转入输入模式

a:在当前的光标所在的字符的后面,转入输入模式

A:在当前光标所在的行尾,转入输入模式

o:在当前的光标所在的行的下面,新建一行,转入输入模式

O:在当前的光标所在的字符的上面,新建一行,转入输入模式

输入模式——>编辑模式:

按“ESC”键,转入编辑模式

输入模式——> 末行模式:

输入“:”,转入末行模式

末行模式——>编辑模式:

按两次“ESC”键 ,转入输入模式

退出模式:

:q 退出

:wq  保存退出

:q!   不保存退出

编辑模式ZZ  保存退出

末行模式

在编辑模式下,输入: 即可  

:10d    删除第10行

:10,20d      删除第10到20行

:! ls /etc    与命令相结合 

Vim打开文件

vim /path/to/somefile 若文件存在,则打开 ;若不存在,则创建并打开

vim +n FILE 打开FILE文件且光标选择FILE文件的第n行

vim + FILE 打开FILE文件且光标选择FILE文件的最后一行

vim + /PATTERN FILE 打开FILE文件,定位至第一次被PATTERN匹配到的行的行首

1、多个文件同时打开

vim /etc/passwd /etc/rc.d/rc.sysinit /etc/issue

:next   跳转到下一个文本

:prev  跳转到前一个文本

:first   跳转到第一个文本

:last   跳转到最后一个文本

:qalll  退出所有文本,不保存

:wall   保存所有文本并退出

2、分割窗口打开多个文件

vim -o /etc/passwd /etc/issue

:o  水平分割窗口

:O  垂直分割窗口

Ctrl+w  切换窗口 ;左右箭头,上下箭头   进行光标转移

Vim移动光标

1、逐字符移动光标

h键   向前移动光标;l键  向后移动光标 ;j键 向下移动光标 ;k键 向上移动光标

2、逐单词移动光标

w键   移动光标至下一个单词的词首;e键  移动光标至下一个单词的词尾 ;b键 移动光标至前一个单词的词首

Nw | Ne |Nb 代表了向前,向后移动了n个单词

3、光标行首,行尾跳转

0(数字0)光标移动到行首 ; ^ 光标移动到行中的第一个非空白字符  ; $  光标移动到行的行尾 

4、光标逐行跳转

G   光标跳转至最后一行 ; NG 光标跳转到第N行  ;在末行模式下,直接给出行号即可 如 :10   。

5、光标逐句跳转

) 光标跳转至下一句 ; 

( 光标跳转至上一句 ;

Num 与句跳转快捷键一同使用,向指定方向跳转句的个数  ,如10( ,代表向前跳转10句

6、光标逐段跳转

} 光标跳转至下一段 ; 

{  光标跳转至上一段 ;

Num 与段跳转快捷键一同使用,向指定方向跳转段的个数  ,如10{ ,代表向前跳转10段

Vim编辑操作

1、删除单个字符命令x

x 删除光标所在处的单个字符 ; 

Nx 删除光标所在处及向后的共N个字符

2、删除行命令d

d命令与跳转命令结合使用;如d0 ,d$  , d{  , d(  ,dw , dh  ; 

dd删除光标所在行   

3、末行模式下的范围定界

:n,md   删除第n行到m行 ;  

:.   表示当前行  ; 

:$  表示最后一行    如 :.,$-2d 代表删除当前行到倒数第二行的内容

:/prt1/,/prt2/  被第一次prt1匹配的行至被第二次prt2匹配的行就结束

:+N   向下的N行 

:%   表示全文

4、替换命令r

r  替换光标所在处的字符 

5、改变命令c ,与d命令相似

c 表示删除内容并进入输入模式进行内容替换

c 与跳转命令结合使用,如 c0 ,c$  , c{  , c}  , cw , ch 

cc 删除光标所在行,并进入输入模式

Ncc 删除光标之后的N行,进入输入模式 

6、复制命令y

y命令与跳转命令结合使用;如y0 ,y$  , y{  , y(  , yw , yh  ; 

yy 复制当前行

Nyy 复制光标之后的N行

7、粘贴命令p

p 如果删除的或复制的内容为整行内容,则粘贴纸光标所在行的下方 ,如果删除或复制的内容为为非整行内容,则粘贴至光标所在行的后面

P  如果删除的或复制的内容为整行内容,则粘贴纸光标所在行的上方 ,如果删除或复制的内容为为非整行内容,则粘贴至光标所在行的前面

8、撤销命令u

u   撤销之前的命令操作

#u  撤销#次操作

Ctrl +r  撤销掉错误的撤销操作

Vim翻屏操作及查找替换

Ctrl + f 向文件尾部翻一屏 ; Ctrl + b 向文件首部翻一屏

Ctrl + d 向下翻半屏 ; Ctrl + u 向上翻半屏

Enter 向后翻一行 ; k 向上翻一行

/PATTERN 向下查找匹配PATTERN的字符

?PATTERN 向上查找匹配PATTERN的字符

查找替换:

在末行模式下使用s命令

格式为   :ADD1,ADD2 s@PATTERN(正则表达式)@string@gi    ,其中g 代表golal ,i表示不区分大小写

例:1,+9s@[[:space:]]{1,}#@@g 从第一行到第10行中,查找以至少一个空白字符,且紧跟# ,替换为空

例:1,28s@^[^#].*@#&@g 从第一行至第28行中,替换以非# 开头的行,前面加#

例:1,28s@(l(..e))(.*\1)@L\2\3@g 替换前后相同的l为L

将当前文件中的部分内容另存为另外一个文件,w

末行模式下  :ADDR1,ADDR2w /PATH/to/somwhere  

将另外一个文件的内容填充在当前文件中

末行模式下 :r /PATH/To/Somewhere 

根shell 交互

末行模式下 :!COMMAND

Vim窗口属性定义

1、显示或取消行号

:set nu  显示行号  

:set nonu 取消行号显示

2、设定vim编辑器显示忽略或区分字符大小写

:set ic  忽略大小写

:set noic 不忽略大小写 

3、设定自动缩进

:set ai 或 :set autoindent  设置自动缩进

:set noai  取消自动缩进

4、高亮显示搜索结果

:set hlseartch   高亮显示

:set nohlsearch 取消高亮显示

5、语法高亮

:syntax on 语法高亮显示

:syntax off 关闭语法高亮显示

6、显示与之匹配的括号

:set sm   显示与之匹配的括号

:set nosm  取消显示与之匹配的括号

转载至 http://blog.51cto.com/itwish/2063991

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值