分类: LINUX
2013-03-24 16:27:23
阅读《Fedora和Red Hat Enterprise Linux实用指南》 vi编辑器一章,学习记录如下:
vi共分为3中模式:一般模式,编辑模式,命令行命令模式
一般模式:光标移动,搜索,替换,删除字符,删除整行,复制整行,粘贴整行。
一般模式按ioaR进入编辑模式,可以输入任何字符,按键【esc】退出为一般模式。
命令行模式:读取,存储文件以及其他附加功能。(:/ ?)
# vi test.txt
一般模式:hjkl左下上右移动光标;ctrl+f向下翻一页,ctrl+b向上翻一页; 0移动到该行最前面字符处,$移动到该行最后面字符处。
G移动到最后一行,50G移动到这个文件的第50行;gg equal to 1G;
/word 向下搜索word字符串
?word 向上搜索word字符串
:100,200s/word1/word2/g 在第100至200行之间寻找word1修改为word2
:1,$s/word1/word2/gc 在1到最后一行寻找替换,在替换前会提示用户进行conform确认
p,P粘贴到光标下/上一行
u重复前一个动作
ctrl+r重做上一个操作
yy复制光标所在那一行
nyy复制n行
命令行模式:
:w写入
:w!强制写入
:q离开vi
:q!不保存,强制离开
:wq保存离开
:wq!强制保存离开
:set nu设置行号
:set nonu取消行号
:n1,n2 w [filename]将n1到n2行存储为文件filename
:r [filename] 读取文件内容添加到光标后
-----------------------------------------------------------------
vim附加功能
块选择 (v字符选择,V行选择,[CTRL]+v块选择 ,y复制,d删除)
按下ctrl+v,移动方向键,向右下移动,选择区域反白,按下y复制,然后p到适当位置。
多文件编辑vim file1 file2
(:n编辑下一个文件,:N编辑上一个文件,:files列出当前vim打开的所有文件)
多窗口功能:
:sp [filename]打开一个新窗口,如果加上filename则表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容同步显示
Ctrl+wj 光标移动到下方窗口
ctrl+wk光标移动到上方窗口
ctrl+wq结束离开
vim环境参数设置
:set nu 设置行号
:set hlsearch 设置是否将搜索字符串反白 :set nohlsearch
:set auttoindent 设置是否自动缩进 :set :noautoindent
:set backup 设置是否自动存储备份文件 设置后当更改任意一个文件时当更改file1时,就会产生file1~
:set ruler
:set showmode
:set backspace=(012)
:set all
:syntax (on/off)
alias 别名设置
alias lm='ls -l | more'
dos与unix的换行符(DOS:^M$ LINUX:$ )
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
-k保持该文件原来的mtime格式
-n保留原来的旧文件 dos2unix -n old new