linux命令vi输入 linux vi输入中文

在Linux系统的Vim中如何写入?vim编辑器linux命令vi输入的三种模式:一般模式、编辑模式和命令行模式 。
在一般模式中可以进行删除、复制和粘贴linux命令vi输入的功能,但是无法编辑文件内容 。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键 。按下Esc键可以回到一般模式 。在一般模式中输入:、/、linux命令vi输入?三个中的任意一个可以将光标移到最下面的一行 。在这个模式中可以提供查找数据的操作,而读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的 。需要注意的是 , 编辑模式与命令行模式之间是不能互相切换的 。
下面列出平时用的最多的vi命令:
移动光标的方法:
[Ctrl] [f]:屏幕向下移动一页,相当于[PageDown]按键 。
[Ctrl] [b]:屏幕向上移动一页,相当于[PageUp]按键 。
0或功能键[Home]:移动到这一行的最前面字符处 。
$或功能键[End]:移动到这一行的最后面字符处 。
G:移动到这个文件的最后一行 。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行 。
查找和替换:
/word:向下寻找一个名称为word的字符串 。
?word:向上寻找一个名称为word的字符串 。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串 , 并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换 。
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace]) 。
dd:删除光标所在的一整行 。
ndd:删除光标所在的向下n行 。
yy:复制光标所在的一行 。
nyy:复制光标所在的向下n行 。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行 。
u:复原前一个操作 。
[Ctrl] r:重做上一个操作 。
.:小数点,重复前一个操作 。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等 。
具体步骤如下:/导致这种情况的原因主要是??
linux vi命令的使用方法vilinux命令vi输入的基本概念
基本上vi可分为三种操作状态linux命令vi输入,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode)linux命令vi输入 ,
各模式的功能区分如下:
1. Comand mode:控制屏幕光标的移动linux命令vi输入 , 字符或光标的删除linux命令vi输入,移动复制某区段及进入Insert mode下 , 或者到Last line mode 。
2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode 。
3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等 。
不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode 。
vi的基本操作
?进入vi
在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:
$ vi testfile
有一点要特别注意,就是您进入vi之后是处于“Command mode”下,您要切换到Insert mode才能输入文字 。
初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后 , 先不要乱动,
转换入Insert后再说 。?切换至Insert mode编辑文件在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode 。
这时候您就可以开始输入文字了 。
i: 插入,从目前光标所在之处插入所输入的文字 。
a: 增加 , 目前光标所在的下一个字开始输入文字 。
o: 插入新的一行,从行首开始输入文字 。
?Insert的切换→Command mode , 按Esc键
您目前处于Insert mode,您就只能一直打字 。假如您发现打错字了,想用光标键往回移动,将该字删除 ,
就要按ESC键转换回Command mode,再删除文字 。
?离开vi及存文件
在Command mode下 , 可按冒号“:”键入入Last line mode,例如:
:w filename (输入“w filename”,将文章存入指定的文件名filename)
:wq (输入“wq” , 因为进入之时已经指定文件名testfile , 所以会写入testfile并离开vi)
:q! (输入“q!” , 强制离开并放弃编辑的文件)
Command mode功能键列表
在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,
请读者您一定要学会、记住 。
(1)I、a、o切换进入Insert mode 。[超级常用]
(2)移动光标
vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母
h、j、k、l,分别控制光标左、下、上、右移一格 。
按Ctrl B:屏幕往后移动一页 。[常用]
按Ctrl F:屏幕往前移动一页 。[常用]
按Ctrl U:屏幕往后移动半页 。
按Ctrl D:屏幕往前移动半页 。
按 0 (数字零):移动文章的开头 。[常用]
按 G:移动到文章的最后 。[常用]
按 w:光标跳到下个word的开头 。[常用]
按 e:光标跳到下个word的字尾 。
按 b:光标回到上个word的开头 。
按 $:移到光标所在行的行尾 。[常用]
按 ^:移到该行第一个非空白的字符 。
按 0:移到该行的开头位置 。[常用]
按 #:移到该行的第#个位置,例:51、121 。[常用]
(3)删除文字
x:每按一次删除光标所在位置的后面一个字符 。[超常用]
#x:例如,6x 表删除光标所在位置的后面6个字符 。[常用]
X:大字的X,每按一次删除光标所在位置的前面一个字符 。
#X:例如,20X 表删除光标所在位置的前面20个字符 。
dd:删除光标所在行 。[超常用]
#dd:例如,6dd表删除从光标所在的该行往下数6行之文字 。[常用]
(4)复制
yw:将光标所在处到字尾的字符复制到缓冲区中 。
(想在和#x、#X的功能相反)
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用) 。
yy:复制光标所在行 。[超常用]
p:复制单行到您想粘贴之处 。(指令‘yy’与‘p’必须搭配使用)
#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字 。[常用]
p:复制多行到您想粘贴之处 。(指令‘#yy’与‘p’必须搭配使用)
“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer
“ap:将放在buffer a的数据粘贴 。
“b3yy:将三行数据存入buffer b 。
“b3p:将存在buffer b的资料粘贴
(5)取代
r: 取代光标所在处的字符:[常用]
R:取代字符直到按Esc为止 。
(6)复原(undo)上一个指令
u:假如您误操作一个指令,可以马上按u,回复到上一个操作 。[超常用]
.: .可以重复执行上一次的指令 。
(7)更改
cw:更改光标所在处的字到字尾$处 。
c#w:例如 , c3w代表更改3个字 。
(8)跳至指定行
Ctrl G:列出光标所在行的行号 。
#G:例如 , 15G,表示移动光标至文章的第15行行首 。[常用]
Last line mode下指令简介
读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”
三键的其中一键进入Last line mode 。
1.列出行号
set nu: 输入“set nu”后,会在文章的每一行前面列出行号 。
2.跳到文章的某一行
#:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,
如:15[Enter]就会跳到文章的第15行 。[常用]
3.寻找字符串
/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止 。
?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的 , 可以按n会往前寻找到您要的关键字为止 。
4.取代字符串
1,$s/string/replae/g:在last line mode输入“1 , $s/string/replace/g”会将全文的string字符串取代为replace字符串 ,
其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认 。
%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,
c则是表示要替代之前必须再次确认是否取代 。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串 。
5.存文件
w:在last line mode提示符号“:”前按w即可将文件存起来 。[超常用]
#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,
将您正在编辑文章的第30~50行存成nice这个文件 。
6.离开
q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”
qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件
如何在linux中vi使用方法 vi 的工作模式
Vi 在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、 复制或粘贴文字等 。
这些按键均是普通的字符,例如 l 是向右移动光标,相当于向右箭头键,k 是 向下移动光标,相当于向下箭头键 。
在编辑模式下 , 用户还可以利用一些特殊按键选定文字,然后 再进行删除、或复制等操作 。
当用户在编辑模式下键入 i, a, o 等命令之后,可进入插入模式;键入 : 可进入命名模式 。
在插入模式下,用户随后输入的,除 Esc 之外的任何字符均将被看成是插入到编辑缓冲区中 的字符 。
按 Esc 之后,从插入模式切换到编辑模式 。
在命令模式,Vi 将把光标挪到屏幕的最下方,并在第一个字符的位置显示一个 :(冒号) 。
这时,用户就可以键入一些命令 。
这些命令可用来保存文件、读取文件内容、执行 Shell 命令、设置 Vi 参数、以正则表达式的方式查找字符串或替换字符串等 。
编辑模式
1. 移动光标
要对正文内容进行修改,首先必须把光标移动到指定位置 。
移动光标的最简单的方式是按键盘的上、下、左、
右箭头键 。
除了这种最原始的方法之外,用户还可以利用 vi 提供的众多字符组合键,在正文中移动光标,迅
速到达指定的行或列,实现定位 。
例如:
k、j、h、l 功能分别等同于上、下、左、右箭头键
Ctrl b 在文件中向上移动一页(相当于 PageUp 键)
Ctrl f 在文件中向下移动一页(相当于 PageDown 键)
H 将光标移到屏幕的最上行(Highest)
nH 将光标移到屏幕的第 n 行
2H 将光标移到屏幕的第 2 行
M 将光标移到屏幕的中间(Middle)
L 将光标移到屏幕的最下行(Lowest)
nL 将光标移到屏幕的倒数第 n 行
3L 将光标移到屏幕的倒数第 3 行
w 在指定行内右移光标,到下一个字的开头
e 在指定行内右移光标,到一个字的末尾
b 在指定行内左移光标,到前一个字的开头
0 数字0 , 左移光标,到本行的开头
$ 右移光标,到本行的末尾
^ 移动光标,到本行的第一个非空字符
2. 替换和删除
将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符 , 或从当前光标位置删除一个或多
个字符 。
例如:
rc 用 c 替换光标所指向的当前字符
nrc 用 c 替换光标所指向的前 n 个字符
5rc 用 c 替换光标所指向的前 5 个字符
x 删除光标所指向的当前字符
nx 删除光标所指向的前 n 个字符
3x 删除光标所指向的前 3 个字符
dw 删除光标右侧的字
ndw 删除光标右侧的 n 个字
3dw 删除光标右侧的 3 个字
db 删除光标左侧的字
ndb 删除光标左侧的 n 个字
5db 删除光标左侧的 5 个字
dd 删除光标所在行,并去除空隙
ndd 删除 n 行内容,并去除空隙
3dd 删除 3 行内容,并去除空隙
3. 粘贴和复制
从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中 。
用户可
将其粘贴到正文中的指定位置 。
完成这一操作的命令是:
p 小写字母 p,将缓冲区的内容粘贴到光标的后面
P 大写字母 P,将缓冲区的内容粘贴到光标的前面
如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前
光标所在行的上一行或下一行 。
注意上述两个命令中字母的大小写 。
vi 编辑器经常以一对大、小写字母(如 p 和 P)来提供一对相似的功能
通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作 。
有时需要复制一段正文到新位置,同时保留原有位置的内容 。
这种情况下,首先应当把指定内容复制(而不是
剪切)到内存缓冲区 。
完成这一操作的命令是:
yy 复制当前行到内存缓冲区
nyy 复制 n 行内容到内存缓冲区
5yy 复制 5 行内容到内存缓冲区
4. 搜索字符串
和许多先进的编辑器一样,vi 提供了强大的字符串搜索功能 。
要查找文件中指定字或短语出现的位置,可以
用 vi 直接进行搜索 , 而不必以手工方式进行 。
搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后
按回车键 。
编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的
开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置 。
用字符 ? 取代 / ,可以实现反向
搜索(朝文件开头方向) 。
例如:
/str1 正向搜索字符串 str1
n 继续搜索,找出 str1 字符串下次出现的位置
?str2 反向搜索字符串 str2
无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行 。
5. 撤销和重复
在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令 。
另外,如果用户希望在新
的光标位置重复前面执行过的编辑命令 , 可用重复命令 。
u 撤消前一条命令的结果
. 重复最后一条修改正文的命令
6. 文本选中
vi 可进入到一种成为 Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本,然后再 执行其他编辑操作,例如删除、复制等 。
v 字符选中命令 V 行选中命令
插入模式
1. 进入插入模式
在编辑模式下正确定位光标之后,可用以下命令切换到插入模式:
i 在光标左侧输入正文
a 在光标右侧输入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头输入正文
A 在光标所在行的末尾输入正文
上面介绍了几种切换到插入模式的简单方法 。
另外还有一些命令,它们允许在进入插入模式之前首先删去一段
正文,从而实现正文的替换 。
这些命令包括:
s 用输入的正文替换光标所指向的字符
ns 用输入的正文替换光标右侧 n 个字符
cw 用输入的正文替换光标右侧的字
ncw 用输入的正文替换光标右侧的 n 个字
cb 用输入的正文替换光标左侧的字
ncb 用输入的正文替换光标左侧的 n 个字
cd 用输入的正文替换光标的所在行
ncd 用输入的正文替换光标下面的 n 行
c$ 用输入的正文替换从光标开始到本行末尾的所有字符
c0 用输入的正文替换从本行开头到光标的所有字符
2. 退出插入模式
退出插入模式的方法是,按 ESC 键或组合键Ctrl [。
1.6.4 命令模式
在 vi 的命令模式下 , 可以使用复杂的命令 。
在编辑模式下键入“:”,光标就跳到屏幕最后一行 , 并在 那里显示冒号,此时已进入命令模式 。
命令模式又称“末行模式”,用户输入的内容均显示在屏幕的最后 一行,按回车键,vi 执行命令 。
1. 退出命令
在编辑模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件 。
如果只需要
退出编辑程序 , 而不打算保存编辑的内容,可用下面的命令:
: q 在未作修改的情况下退出
: q! 放弃所有修改,退出编辑程序
2. 行号与文件
编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行:
: n 将光标移到第 n 行
命令模式下 , 可以规定命令操作的行号范围 。
数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符
符“___FCKpd___8rdquo;表示正文最后一行的行号;简单的表达式,例如“. 5”表示当前行往下的第 5 行 。
例如:
:345 将光标移到第 345 行
:345w file 将第 345 行写入 file 文件
:3,5w file 将第 3 行至第 5 行写入 file 文件
:1,.w file 将第 1 行至当前行写入 file 文件
:.,$w file 将当前行至最后一行写入 file 文件
:.,. 5w file 从当前行开始将 6 行内容写入 file 文件
:1,$w file 将所有内容写入 file 文件,相当于 :w file 命令
在命令模式下,允许从文件中读取正文,或将正文写入文件 。
例如:
:w 将编辑的内容写入原始文件 , 用来保存编辑的中间结果
:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)
:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变
:a,bw file 将第 a 行至第 b 行的内容写入 file 文件
:r file 读取 file 文件的内容,插入当前光标所在行的后面
:e file 编辑新文件 file 代替原有内容
:f file 将当前文件重命名为 file
:f 打印当前文件名称和状态 , 如文件的行数、光标所在的行号等
3. 字符串搜索
给出一个字符串,可以通过搜索该字符串到达指定行 。
如果希望进行正向搜索,将待搜索的字符串置于两个“
/”之间;如果希望反向搜索 , 则将字符串放在两个“?”之间 。
例如:
:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行
:?str? 反向搜索,将光标移到上一个包含字符串 str 的行
:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件
:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写
入 file 文件
4. 正文替换
利用 :s 命令可以实现字符串的替换 。
具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作 。
5. 删除正文
在命令模式下 , 同样可以删除正文中的内容 。
例如:
:d 删除光标所在行
:3d 删除 3 行
:.,$d 删除当前行至正文的末尾
:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行
6. 恢复文件
vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头 , 并以 .swp 结尾 。
vi 在
正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:
:recover 恢复文件
也可以在启动 vi 时利用 -r 选项 。
选项设置
为控制不同的编辑功能,vi 提供了很多内部选项 。
利用 :set 命令可以设置选项 。
基本语法为:
:set option 设置选项 option
常见的功能选项包括:
autoindent 设置该选项,则正文自动缩进
ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别
number 设置该选项,则显示正文行号
ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置
tabstop 设置按 Tab 键跳过的空格数 。
例如 :set tabstop=n,n 默认值为 8
mk 将选项保存在当前目录的 .exrc 文件中
shell 切换
在编辑正文时 , 利用 vi 命令模式下提供的 shell 切换命令 , 无须退出 vi 即可执行 Linux 命令,十分
方便 。
语法格式为:
:! mand 执行完 shell 命令 mand 后回到 vi
另外,在编辑模式下,键入 K,可命令 vi 查找光标所在单词的手册页,相当于运行 man命令 。
vim 和 gvim 的高级特色
Vim 代表 Vi IMproved,如同其名称所暗示的那样,Vim 作为标准 UNIX 系统 vi 编辑器的提高版而存在 。
Vim 除提供和 vi 编辑器一样强大的功能外,还提供有多级恢复、命令行历史以及命令及文件名补全等 功能 。
gvim 是 vi 的 X Window 版本,该版本支持鼠标选中,一些高级光标移动功能,并且带有菜单和工具按钮 。
linux中使用vi指令后怎么输入?以下是VI有关文件修改与保存的命令:\x0d\x0a\x0d\x0a插入命令\x0d\x0a\x0d\x0ai 在当前位置生前插入\x0d\x0a\x0d\x0aI 在当前行首插入\x0d\x0a\x0d\x0aa 在当前位置后插入\x0d\x0a\x0d\x0aA 在当前行尾插入\x0d\x0a\x0d\x0ao 在当前行之后插入一行\x0d\x0a\x0d\x0aO 在当前行之前插入一行\x0d\x0a\x0d\x0a查找命令\x0d\x0a\x0d\x0a/text查找textlinux命令vi输入,按n健查找下一个linux命令vi输入,按N健查找前一个 。\x0d\x0a\x0d\x0a?text查找text,反向查找 , 按n健查找下一个,按N健查找前一个 。\x0d\x0a\x0d\x0avim中有一些特殊字符在查找时需要转义.*[]^%/?~$\x0d\x0a\x0d\x0a:set ignorecase忽略大小写的查找\x0d\x0a\x0d\x0a:set noignorecase不忽略大小写的查找\x0d\x0a\x0d\x0a查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索 。而#命令相当于?搜索 。\x0d\x0a\x0d\x0a:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配 。\x0d\x0a\x0d\x0a:set nohlsearch关闭高亮搜索显示\x0d\x0a\x0d\x0a:nohlsearch关闭当前的高亮显示 , 如果再次搜索或者按下n或N键,则会再次高亮 。\x0d\x0a\x0d\x0a:set incsearch逐步搜索模式 , 对当前键入的字符进行搜索而不必等待键入完成 。\x0d\x0a\x0d\x0a:set wrapscan重新搜索 , 在搜索到文件头或尾时,返回继续搜索,默认开启 。\x0d\x0a\x0d\x0a替换命令\x0d\x0a\x0d\x0ara 将当前字符替换为a,当期字符即光标所在字符 。\x0d\x0a\x0d\x0as/old/new/ 用old替换new,替换当前行的第一个匹配\x0d\x0a\x0d\x0as/old/new/g 用old替换new,替换当前行的所有匹配\x0d\x0a\x0d\x0a%s/old/new/ 用old替换new,替换所有行的第一个匹配\x0d\x0a\x0d\x0a%s/old/new/g 用old替换new , 替换整个文件的所有匹配\x0d\x0a\x0d\x0a:10,20 s/^//g 在第10行知第20行每行前面加四个空格,用于缩进 。\x0d\x0a\x0d\x0addp 交换光标所在行和其下紧邻的一行 。\x0d\x0a\x0d\x0a移动命令\x0d\x0a\x0d\x0ah 左移一个字符\x0d\x0al 右移一个字符,这个命令很少用,一般用w代替 。\x0d\x0ak 上移一个字符\x0d\x0aj 下移一个字符\x0d\x0a以上四个命令可以配合数字使用 , 比如20j就是向下移动20行 , 5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个linux命令vi输入! , 3a?。饫锏腅sc是必须的,否则命令不生效 。\x0d\x0a\x0d\x0aw 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首 。此命令快,可以代替l命令 。\x0d\x0a\x0d\x0ab 向后移动一个单词 2b 向后移动2个单词\x0d\x0a\x0d\x0ae,同w,只不过是光标停在单词尾部\x0d\x0a\x0d\x0age,同b,光标停在单词尾部 。\x0d\x0a\x0d\x0a^ 移动到本行第一个非空白字符上 。\x0d\x0a\x0d\x0a0(数字0)移动到本行第一个字符上,\x0d\x0a\x0d\x0a 移动到本行第一个字符 。同0健 。\x0d\x0a\x0d\x0a$ 移动到行尾 3$ 移动到下面3行的行尾\x0d\x0a\x0d\x0agg 移动到文件头 。= [[\x0d\x0a\x0d\x0aG(shiftg) 移动到文件尾 。= ]]\x0d\x0a\x0d\x0af(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符 。\x0d\x0a\x0d\x0aF 同f,反向查找 。\x0d\x0a\x0d\x0a跳到指定行,冒号 行号,回车,比如跳到240行就是 :240回车 。另一个方法是行号 G , 比如230G跳到230行 。\x0d\x0a\x0d\x0aCtrle 向下滚动一行\x0d\x0a\x0d\x0aCtrly 向上滚动一行\x0d\x0a\x0d\x0aCtrld 向下滚动半屏\x0d\x0a\x0d\x0aCtrlu 向上滚动半屏\x0d\x0a\x0d\x0aCtrlf 向下滚动一屏\x0d\x0a\x0d\x0aCtrlb 向上滚动一屏\x0d\x0a\x0d\x0a撤销和重做\x0d\x0a\x0d\x0au 撤销(Undo)\x0d\x0aU 撤销对整行的操作\x0d\x0aCtrlr 重做(Redo) , 即撤销的撤销 。\x0d\x0a\x0d\x0a删除命令\x0d\x0a\x0d\x0ax 删除当前字符\x0d\x0a\x0d\x0a3x 删除当前光标开始向后三个字符\x0d\x0a\x0d\x0aX 删除当前字符的前一个字符 。X=dh\x0d\x0a\x0d\x0adl 删除当前字符 , dl=x\x0d\x0a\x0d\x0adh 删除前一个字符\x0d\x0a\x0d\x0add 删除当前行\x0d\x0a\x0d\x0adj 删除上一行\x0d\x0a\x0d\x0adk 删除下一行\x0d\x0a\x0d\x0a10d 删除当前行开始的10行 。\x0d\x0a\x0d\x0aD 删除当前字符至行尾 。D=d$\x0d\x0a\x0d\x0ad$ 删除当前字符之后的所有字符(本行)\x0d\x0a\x0d\x0akdgg 删除当前行之前所有行(不包括当前行)\x0d\x0a\x0d\x0ajdG(jd shiftg)删除当前行之后所有行(不包括当前行)\x0d\x0a\x0d\x0a:1,10d 删除1-10行\x0d\x0a\x0d\x0a:11,$d 删除11行及以后所有的行\x0d\x0a\x0d\x0a:1,$d 删除所有行\x0d\x0a\x0d\x0aJ(shiftj)删除两行之间的空行 , 实际上是合并两行 。\x0d\x0a\x0d\x0a拷贝和粘贴\x0d\x0a\x0d\x0ayy 拷贝当前行\x0d\x0a\x0d\x0anyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行 。\x0d\x0a\x0d\x0ap在当前光标后粘贴,如果之前使用linux命令vi输入了yy命令来复制一行,那么就在当前行的下一行粘贴 。\x0d\x0a\x0d\x0ashift p 在当前行前粘贴\x0d\x0a\x0d\x0a:1,10 co 20 将1-10行插入到第20行之后 。\x0d\x0a\x0d\x0a:1,$ co $ 将整个文件复制一份并添加到文件尾部 。\x0d\x0a\x0d\x0a正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制\x0d\x0a\x0d\x0addp交换当前行和其下一行\x0d\x0a\x0d\x0axp交换当前字符和其后一个字符\x0d\x0a\x0d\x0a剪切命令\x0d\x0a\x0d\x0a正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切\x0d\x0a\x0d\x0andd 剪切当前行之后的n行 。利用p命令可以对剪切的内容进行粘贴\x0d\x0a\x0d\x0a:1,10d 将1-10行剪切 。利用p命令可将剪切后的内容进行粘贴 。\x0d\x0a\x0d\x0a:1, 10 m 20 将第1-10行移动到第20行之后 。\x0d\x0a\x0d\x0a退出命令\x0d\x0a\x0d\x0a:wq 保存并退出\x0d\x0a\x0d\x0aZZ 保存并退出\x0d\x0a\x0d\x0a:q! 强制退出并忽略所有更改\x0d\x0a\x0d\x0a:e! 放弃所有修改,并打开原来文件 。
linux用vi命令进入了不存在的文件vi是一个特殊的命令linux命令vi输入 , 也不光是命令还是Linux下的编辑器linux命令vi输入,由于篇幅关系就不在这边多做举例说明linux命令vi输入,讲在以后配置网络服务时介绍一些vi的实际应用 。
vi命令是Linux下全屏幕文本编辑 , vi编辑提供了丰富的编辑功能 。这个编辑器十分简陋,对初学者很不友好 。但是因为Linux的vi编辑器作用非常大,尤其是在配置各种服务器时修改配置文件十分有用 。
vi编辑器有3种模式:命令模式、输入模式、末行模式 。掌握这三种模式十分重要:
命令模式:vi启动后默认进入的是命令模式 , 从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式 。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件 。
输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式 。当我们完成修改输入等操作的时候我们需要保存文件,这时我们需要先返回命令模式,在进入末行模式保存 。
末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有好多好用的命令 。
vi的启动和退出
直接输入命令vi不指定文件名,由于这是一个没有命名的空文件 , 显示了vi的版本信息 。
vim是vi编辑器的改进版本,在vi编辑器的基础上扩展了很多实用的功能 。大多数linux/unix版本都使用vim代替了原有的vi编辑器 。
或者直接使用vi打开文件,如果文件存在打开存在文件;如果不存在的话,将以我们指定的参数作为文件名 。
输入q!是强制退出,同时没有保存当前文件内容 。如果文件没有进行修改,或者已经保存完毕也可以使用q退出 。保存退出使用wq,保存强制退出wq!
保存文件
如果文件已经有文件名,我们在末行模式直接输入w保存,如果没有文件名,输入w 文件名进行保存 。例如:w test其中test是文件名 。
那么在vi中也可以另存为,就是在保存完以后,我们再使用w 另存为文件名 。
Linux之vi命令vi profile
返回
:q退出
:wq或者:x或者shift zz 保存并退出
:q! 不保存并退出
:w 保存
:w! 强制保存
编辑到输入模式:
i 在当前光标前面输入
I 在当前光标所在行的行首 , 转换为输入模式
a 在当前光标后面输入
A 在当前光标所在行的行尾,转换为输入模式
o 在当前光标所在行的下方,新建一行,并转为输入模式
O 在当前光标所在行的上方 , 新建一行,并转为输入模式
1、移动光标
字符:方向键上下左右或者键盘kjhl(上下左右)
单词:w移至下一个单词的词首;e跳至当前或下一个单词的词尾;b跳至当前或前一个单词的词首
行内:0绝对行首;^行首的第一个非空白字符;$绝对行尾
行间:G文章末尾;3G第3行;gg文章开头
翻屏:ctrl f【往后翻】;Ctrl b【往前翻】
2、删除、替换单个字符
x删除光标位置字符;3x删除光标开始3个字符;r替换光标位置字符
dw删除一个单词;4dw删除光标开始的4个单词;dd删除光标所在行;5dd删除光标开始的5行
3、复制粘贴剪切
yw复制一个单词,p在该行粘贴单词;yy复制整行,p在该行下方粘贴整行
dd剪切整行,p再粘贴整行;dw剪切一个单词,p再粘贴一个单词
4、撤销重做
u:撤销;ctrl r:重做撤销的操作;.重复上一步的操作【假设先dd,再.,会再执行dd命令】
1、set设置
set nu
set nonu
set readonly#设置只读文件,不能修改,只在当前环境有效,退出文件,再次打开,这个只读就无效了
set noreadonly #取消只读
2、/查找
/after查找文档中的after【可以找到所有的after】,n向下翻,N向上翻
:/after查找文档中的after所在行【可以找到所有的after】 , n向下翻,N向上翻
3、!执行命令
比如:查找root目录
:!ls /root/
4、查找并替换
格式
【 :查找范围s/查找的词/要替换的词/ 】
或者【:查找范围s#查找的词#要替换的词# 】
或者【:查找范围s%查找的词%要替换的词%】,
即分隔符可以是/、#、%
其中 , 查找范围 包括【.当前光标行】;【$末尾行】;【%全文】;【g一行内全部替换】;【i忽略大小写】
比如 【 :.,$s/after/before/】 表示在当前光标行【.】到末尾【$】这个范围内,将after替换为before, 但是如果一行有多个after的话 , 只会把第一个after替换掉。
比如 【 :%s/after/before/】 表示在全文,将after替换为before , 但是如果一行有多个after的话,只会把第一个after替换掉 。
比如【:%s/after/before/g】 ,表示在全文 , 将after替换为before,但是 如果一行有多个after的话,会把该行所有after替换掉,因为在命令里面加了g。
比如 【:%s/after/before/gi】 ,表示在全文 , 将after替换为before,且忽略大小写并替换一行内所有after 。
比如 【 :%d或者dG】,表示删除全文
比如【:1,$-4d】 ,表示删除第一行到倒数第5行的数据
比如【:1,4y】 ,表示复制1到4行,再按p可粘贴这4行
【linux命令vi输入 linux vi输入中文】linux命令vi输入的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux vi输入中文、linux命令vi输入的信息别忘了在本站进行查找喔 。

    推荐阅读