志在指尖
用双手敲打未来

linux vi(linux中vi编辑器的使用)

linuxvi

(一)vi/vim是什么?
Linux国际几乎一切的装备文件都是以纯文本方法存在的,而在一切的Linux发行版体系上都有vi修改器,因而利用简略的文字修改软件就能够轻松地修改体系的各种装备了,非常便利。vi便是一种功用强大的文本修改器,而vim则是高级版的vi,不但可以用不同色彩显现文字内容,还能进行诸如shell脚本、C语言程序修改等功用,可以作为程序修改器。
(二)为什么要学习vi/vim?
首先一切的Linux发行版体系上都会默许内置vi修改器,而不一定带有其他文本修改器,非常通用;其次,许多软件的修改接口都会默许调用vi;第三,vi具有程序修改的能力;最终,vi程序简略,修改速度相当快速。
(三)vi的三种形式及各个形式之间的转化关系
(四)一般形式常用操作
【h(或向左方向键)】光标左移一个字符
【j(或向下方向键)】光标下移一个字符
【k(或向上方向键)】光标上移一个字符
【l(或向右方向键)】光标右移一个字符
【[Ctrl]+f】屏幕向下移动一页(相当于PageDown键)
【[Ctrl]+b】屏幕向上移动一页(相当于PageUp键)
【[0]或[Home]】光标移动到当时行的最前面
【[$]或[End]】光标移动到当时行的末尾
【G】光标移动到文件的最终一行(榜首个字符处)
【nG】n为数字(下同),移动到当时文件中第n行
【gg】移动到文件的榜首行,相当于”1G”
【n[Enter]】光标向下移动n行
【/word】在文件中查找内容为word的字符串(向下查找)
【?word】在文件中查找内容为word的字符串(向上查找)
【[n]】表明重复查找动作,即查找下一个
【[N]】反向查找下一个
【:n1,n2s/word1/word2/g】n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2
【:1,s/word1/word2/g】从榜首行(第n行同理)到最终一行查找word1注册,并将其替换成word2【:1,s/word1/word2/g】从榜首行(第n行同理)到最终一行查找word1注册,并将其替换成word2【:1,s/word1/word2/gc】功用同上,只不过每次替换时都会让用户承认
【x,X】x为向后删去一个字符,相当于[Delete],X为向前删去一个字符,相当于[Backspace]
【dd】删去光标地点的一整行
【ndd】删去光标地点的向下n行
【yy】仿制光标地点的那一行
【nyy】仿制光标地点的向下n行
【p,P】p为将现已仿制的数据在光标下一行张贴;P为将现已仿制的数据在光标上一行张贴
【u】撤消上一个操作
【[Ctrl]+r】屡次撤消
【.】这是小数点键,重复上一个操作
(五)一般形式切换到修改形式的操作
1、进入刺进形式(6个指令)
【i】从现在光标地点处刺进
【I】从现在光标
【a】从当时光标地点的下一个字符处开始刺进
【A】从光标地点行的最终一个字符处开始刺进
【o】英文小写字母o,在现在光标地点行的下一行处刺进新的一行并开始刺进
【O】英文大写字母O,在现在光标地点行的上一行处刺进新的一行并开始刺进
2、进入替换形式(2个指令)
【r】只会替换光标地点的那一个字符一次
【R】会一直替换光标地点字符,直到按下[ESC]键停止
【[ESC]】退出修改形式回到一般形式
(六)一般形式切换到指令行形式
【:w】保存文件
【:w!】若文件为只读,强制保存文件
【:q】脱离vi
【:q!】不保存强制脱离vi
【:wq】保存后脱离
【:wq!】强制保存后脱离
【:!command】暂时脱离vi到指令行下履行一个指令后的显现成果
【:setnu】显现行号
【:setnonu】取消显现行号
【:wnewfile】另存为
【:setfileencoding】检查当时文件编码格局
【:setfileencoding=utf-8】设置当时文件编码格局为utf-8,也可以设置成其他编码格局
【:setfileformat】检查当时文件的断行格局(dos\windows,unix或macintosh)
【:setfileformat=unix】将当时文件的断行格局设置为unix格局
(七)文件康复形式
【[O]penRead-Only】以只读方法翻开文件
【[E]ditanyway】用正常方法翻开文件,不会载入暂存文件内容
【[R]ecover】加载暂存文件内容
【[D]eleteit】用正常方法翻开文件并删去暂存文件
【[Q]uit】按下q就脱离vi,不进行其他操作
【[A]bort】与quit功用类似
(八)块挑选(一般形式下用)
【v,V】v:将光标通过的当地反白挑选;V:将光标通过的行反白挑选
【[Ctrl]+v】块挑选,可用长方形的方法挑选文本
【y】将反白的当地仿制到剪贴板
【d】将反白的内容删去
(九)多文件修改
【vimfile1file2】一起翻开两个文件
【:n】修改下一个文件
【:N】修改上一个文件
【:files】列出当时用vim翻开的一切文件
(十)多窗口功用
【:sp[filename]】翻开一个新窗口,显现新文件,若只输入:sp,则两窗口显现同一个文件
【[Ctrl]+w+j】光标移动到下方窗口
【[Ctrl]+w+k】光标移动到上方窗口
【[Ctrl]+w+q】脱离当时窗口
(十一)vim装备文件
vim的装备文件为/etc/vimrc,但一般不建议直接修改这个文件,而是在用户根目录下创建一个新的隐藏文件:
vim~/.vimrc
然后修改这个文件,常用的装备如下:
bash
“双引号后面的内容为注释
setnu”显现行号
sethlsearch”查找的字符串反白显现
setbackspace=2″可随时用退格键进行删去
setautoindent”自动缩排
setruler”在最下方一行显现状况
setshowmode”在左下角显现形式
setbg=dark”显现不同的底色,还可以为light
syntaxon”语法查验,色彩显现
(十二)Dos与Linux的断行字符(文件转化)
dos2unix[-kn]file[newfile]
unix2dos[-kn]file[newfile]
-k:保存该文件本来的mtime时间格局
-n:保存本来旧文件,将转化后的内容输出到新文件
(十三)语系编码转化
iconv–list列出iconv支撑的语系编码
iconv-f本来编码-t新编码filename[-onewfile]
-f:from,后接本来的编码格局
-t:to,后接新编码格局
-ofile:可选参数,树立新文件
linux中vi编辑器的使用linuxvi

Linux如何退出VI编辑器

:q退出
:q!强行退出(不存盘)
:wq强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:x写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
用ESC键只能切换到命令状态
扩展知识:
今天我才知道”:x”和”:wq”的真正区别,如下:
:wq强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:x写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,”:wq”强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。
更加详细内容:
在linux底下最常使用的文书编辑器为vi,请问如何进入编辑模式?
在一般模式底下输入:i,I,a,A为在本行当中输入新字符;(出现–Insert-)
在一般模式当中输入:o,O为在一个新的一行输入新字符;
在一般模式当中输入:r,R为取代字符!(左下角出现–Replace-)
如何由编辑模式跳回一般模式?
[Esc]
若上下左右键无法使用时,请问如何在一般模式移动光标?
h,j,k,l
若[pagedown][pageup]在一般模式无法使用时,如何往前或往后翻一页?
[Ctrl]+[f]
[Ctrl]+[b]
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
G,1G,0,$
如何删除一行、n行;如何删除一个字符?
dd,ndd,x或X(dG及d1G分别表示删除到页首及页尾)
如何复制一行、n行并加以贴上?
yy,nyy,p或P
如何搜寻string这个字符串?
?string(往前搜寻)
/string(往后搜寻)
如何取代word1成为word2,而若需要使用者确认机制,又该如何?
:1,$s/word1/word2/g或
:1,$s/word1/word2/gc(需要使用者确认)
如何读取一个档案filename进来目前这个档案?
:rfilename
如何另存新档成为newfilename?
:wnewfilename
如何存盘、离开、存盘后离开、强制存盘后离开?
:w;:q::wq;:wq!
如何设定与取消行号?
:setnu
:setnonu

未经允许不得转载:IT技术网站 » linux vi(linux中vi编辑器的使用)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载