08 vim编辑

文本编辑器,字处理器shell

vi:Visual Interfacevim

vim:VI iMproved编辑器


全屏编辑器,模式化编辑器ide

vim模式:spa

编辑模式it

输入模式ast

末行模式class


模式转换:可视化

编辑-->输入:sed

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

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

o:在当前光标所在行的下方,转为输入模式


I:所在行行首

A:所在行行尾

O:所在行上方


输入-->编辑:

ESC


编辑-->末行:


末行-->编辑:

 ESC,ESC

1、打开文件

# vim /path/to/somefile

vim +#:打开文件,并定位于第#行

vim +:打开文件,定位最后一行

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

默认处于编辑模式


2、关闭文件

一、末行模式关闭文件

:q 退出

:wq 保存并退出

:w

:w!

:wq--->:x

二、编辑模式下退出
ZZ: 保存并退出


3、移动光标

一、逐字符移动

h:左

l:右

j:下

k:上

#h:移动#个字符

二、逐单词移动

w:移至下一个单词的词首

e:跳至当前或下一个单词的词尾

b:跳至当前或上一个单词的词首

#w:

三、行内跳转

0:绝对行首

^:行首的第一个非空白字符

$:绝对行尾

四、行间条状

#G:跳转至第#行;

G:最后一行

末行模式下,直接给出行号便可


4、翻屏

ctrl+f:向下翻一屏

ctrl+b:向上

ctrl+d:向下翻半屏

ctrl+u:向上


5、删除单个字符

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

#x:删除光标所在处及向后的共#个字符


6、删除命令:d

d命令跟跳转命令组合使用:

#dw,#de,#db

dd:删除当前光标所在行在内的#行


末行模式下:

StartADD,EndADDd

.:表示当前行
$:最后一行
+#:向下的#行


7、粘贴命令 p

P:若是删除或复制为整行内容,则粘贴至光标所在行的下方,若是复制或删除的内容为非整行,则粘贴至光标所在字符后面

p:若是删除或复制为整行内容,则粘贴至光标所在行的上方,若是复制或删除的内容为非整行,则粘贴至光标所在字符前面


8、复制命令 y

用法同d命令


9、修改:先删除内容,再转换为舒服模式

c:用法同d命令


10、替换

R:替换模式


11、撤销编辑操做 u

u:撤销前一次操做

#u:直接撤销最近n次编辑操做


ctrl+r:撤销刚才的撤销操做


12、重复前一次编辑操做

.


十3、可视化模式

v:按字符选取

V:按举行选取


十4、查找

/Pattern

?Pattern

      n,N


十5、查找并替换

在末行模式下使用s命令

用法同sed命令

1,$

%:表示全文


十6、使用vim编辑多个文件

vim file1 file2 file3

:next 切换至下一个文件

:prev 切换至前一个文件

:last 切换至最后一个文件

:first 切换至第一个文件

:qa  所有退出


十7、分屏显示一个文件

ctrl+w,s:水平拆分窗口

ctrl+w,v:垂直拆分窗口

在从窗口间切换光标:

ctrl+w,ARROW


十8、分窗口编辑多个文件

vim -o:水平分割显示

vim -O:垂直分割显示


十9、将当前文件中部份内容另存为另外一个文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere


二10、将另一个文件的内容填充在当前文件中

:r /path/to/somewhere


二11、跟shell交互

:!COMMAND


二12、高级话题

一、显示或取消行号

:set number

:set nu

:set nonu

二、显示忽略或分区字符大小写

:set ignorecase

:set ic

:set noic

三、设置自动缩进

:set autoindent

:set ai

:set noai

四、查找到文本高亮显示或取消

:set hlsearch

:set nohlsearch

五、语法高亮

:syntax on

:syntax off


二十3、配置文件

/etc/vimrc

~/.vimrc


vimtutor