nano是一个字符终端的文本编辑器ASCII,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。

vim是vi的升级版!!!(主要语法着色

VI:visual interface 可视化接口  体积虽小功能强大
增强版vim: vi improved 最好的功能是语法着色特殊符号 没有颜色可能语法出现错误

全屏编辑器,模式化编辑器
打开vim默认模式编辑模式=命令模式
输入模式:输入内容的
末行模式:整个屏幕的最后一行

模式转换
编辑模式---->输入模式
i:在当前光标所在字符面,转为输入模式:
a:在当前光标所在字符面,转为输入模式:
o:在当前光标所在下方,新建一行,并转为输入模式:

I:在当前光标所在行行首,转为输入模式:
A:在当前光标所在行行尾,转为输入模式:
O:在当前光标所在行上方,转为输入模式:

输入模式---->编辑模式  按ESC
编辑模式---->末行模式  输入:

末行模式---->编辑模式 ESC ESC  


一、打开文件
vim file           新建文件
vim /path/to/somefile    如果存在打开此文件,没有就是新建此文件
vim +5/etc/sysconfig/network-scripts/ifcfg-eth0  打开文件,定位于第五行
vim +/etc/sysconfig/network-scripts/ifcfg-eth0   打开文件,定位于最后一行
vim + /yes /etc/sysconfig/network-scripts/ifcfg-eth0 :打开文件,定位至第一次匹配到的行首

二、关闭文件
1.末行模式下关闭文件
:q 不保存退出
:wq保存并退出
:q!强行退出
:w保存
:w!强行保存退出
:x也是保存退出

2.编辑模式下退出
ZZ保存并退出
Ctrl + z 不保存退出

三、移动光标(编辑模式)
1.逐字符移动光标
h:向左
l:向右
j:向上
k:向下
#h:移动#个字符

2.以单词为单位移动
w:移至下一个单词的词首
e:跳至当前或下一个单词词尾
b:跳至当前或前一个单词的词首

3.行内跳转
0:跳转行首 绝对行首
^:跳转行首 第一个非空白处行首
$:绝对行尾ctrl + $

4.行间跳转
#G:跳转至第#行中间
G:最后一行
末行模式下,直接给出行号即可

四、翻屏
Ctrl + f向文件尾部翻一屏
Ctrl + b向文件头部翻一屏

Ctrl + d向下翻半屏

Ctrl + u向上翻半屏

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

六、删除一整行:d
d命令跟跳转命令结合组合使用
dw向前删除一个字符
de向后删除一个词组
db向前删除一个词组

dd:删除当前光标所在行


末行模式下:
startADD,endADDd    删除startADD到endADD行
.:表示当前行
$:最后一行
+n:向下的n行

:10d 删除第十行

:!cat  /etc/passwd 可以执行其它命令七、粘贴命令 p


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

八、复制命令 y
用法同d命令 yy复制一行 3yy复制三行

九、先删除内容,在转换为输入模式
   C:同d命令

十、替换 r+ 字符 只能替换单个字符
   R:为替换模式

十一、撤销编辑操作
u撤销前一次操作 连续按u可以撤销n次
#u:直接撤销最近#次编辑操作

撤销最后一次撤销:Ctrl + r

十二、重复前一次的编辑操作
.

十三、可视化模式
v:按字符选取
V:按矩形选取

十四、查找
/PATTERN
?PATTERN 按n按顺序查找

十五、查找并替换
在末行模式下使用s命令

十六、显示行
:set nu


十七、打开多个文件
vim FILE1 FILE2 FILE3
:next切换至下一个文件
:prev切换至前一个文件
:last切换至最后一个文件
:first切换至第一个文件
:qa全部退出

十八、分窗口编辑多个文件
vim -o:水平分割显示
vim -O:垂直分割显示

十九、将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w/ path/to/something

二十、将另外一个文件的内容填充在当前文件中
:r /path/to/something

二十一、跟shell交互
:!command

二十二、高级话题
1、显示或取消显示行号
:set number/nonum
2、显示忽略或区分字符大小写
:set ignorecase
3、设定自动缩进
:set autoindent
4、查找到的文本高亮显示或取消
:set hlsearch
5、语法高亮
:syntax on
:syntax off

二十三、配置文件
/etc/vimrc ~/.vimrc