① linux中vi里如何让set number在每次启动vi时候自己自动生效。
我们在Linux系统中,使用vi或vim中,要显示行号就使用命令:
set nu
就可以显示出行号的了。
但是每次编辑vi或vim时,都要输入这个命令,很是麻烦。如果我们打开vim使该命令能自动生效我们想只要配置一下vim的配置文件,就可以实现这个功能的了。
1、首先打开vimrc文件:
[root@localhost ~]# vi /etc/vimrc
注意有些系统vimrc是在/etc/vim/vimrc vim目录下哦。所以要注意。
2、在此文件的最后面,加上一行:
C/C++ Code复制内容到剪贴板
set nu
然后保存退出。
现在再来执行vim或vi任何文件时,行号就默显示出来的了。
② 在linux中使用vi 打开文件时,能显示行号吗
方法一:
1、显示当前行行号,在VI的命令模式下输入
1
:nu
2、显示所有行号,在VI的命令模式下输入
1
:set
nu
方法二:
使用vi编辑~/.vimrc文件,在该文件中加入一行"set
nu",添加内容不含引号,
命令如下:
1
vi
~/.vimrc
方法三:
在UBUNTU中vi的配置文件存放在/etc/vim目录中,配置文件名为vimrc
在Fedora中vi的配置文件存放在/etc目录中,配置文件名为vimrc
在Red
Hat
Linux
中vi的配置文件存放在/etc目录中,配置文件名为vimrc
使用vi编辑该文件,在该文件中加入一行"set
nu",添加内容不含引号。如Ubuntu命令:
③ linux vi
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令[/b]
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
④ linux中vi编辑器怎样使用
工具:
Linux
方法:
1、首先进入Linux的命令行界面.在目录下创建一个用于测试的文本文件(touch filename).这里就新建了一个test12文本文件.当然这个名字是可以随便取得.
7、替换 “r”:替换光标所在处的字符。 ,按一下"r"然后输入要即可.“R”:替换光标所到之处的字符,直到按下“ESC”键为止。
8、恢复上一次操作 “u”:如果误执行一个命令,可以马上按下“u”,回到上一个操作。按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
⑤ vi编辑器下如何查找字符串
1、命令模式下输入“/字符串”,例如“/wenhui ”。
2、如果查找下一个,按“n”即可。
3、要自当前光标位置向上搜索,请使用以下命令:
/wenhui Enter
其中,wenhui表示要搜索的字符。
4、要自当前光标位置向下搜索,请使用以下命令:
?wenhui Enter
按下 Enter键后,vi 将搜索指定wenhui,并将光标定位在wenhui的第一个字符处。
⑥ 请教linux下shell 中 set 的用法
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture.
当BASH shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n)
格式
set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]
详解:
选项 说明
-a 自动向已经修改的变量或为导出后序命令的变量作出标志
-b 不是在原提示符之前,而是立即引发终止后台任务的状态表
-e 如果命令带非零值返回,立即退出 -
f 禁止带扩展名的路径
-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询 函数命令
-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放 在环境命令中
-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后 台进程以单独的进程组运行,在每次完成任务时显示包含退出的 状态行
-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互 shell被忽略
-o option-name 选项名可以是下列之一:
选项 说明
allexport 同-a选项
braceexpand shell执行花括号扩展,在默认情况下起作用
emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing 选项启动,否则当shell交互时,通过默认启动该选项
errexit 同-e选项
histexpand 同-H选项
ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行
interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符
-commands
monitor 同-m选项
noclobber 同-C选项
noexec 同-n选项
noglob 同-f选项
nohash 同-d选项
notify 同-b选项
nounset 同-u选项
physical 同-p选项
posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准
verbose 同-v选项
vi 使用vi风格的命令行编辑器
XTRACE 同-x选项,如果没有给出选项名,显示当前选项值
-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承 shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭 此选项将使得有效用户和组IDs设置实用户和组IDs)
-t 在读取命令并执行之后退出
-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图 出现在非设置变量中,shell显示错误信息.如果不是交互式,则 带非凌值退出)
-v 输入行被读取时,显示shell输入行
-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令
-l 保存和恢复绑定在命令中的名称
-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到 就不再继续查找)
-C 效果好像是执行了noclobber=shell命令
-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)
-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是 使用实际的目录
-- 如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a 选项开始,也要把位置参数设置为argument
- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v 选项被关闭.如果没有argument,位置参数将保留未改变的参数)
⑦ 请问各位linux高手,set -o vi作用是什么
在bash、ksh下,运行set
-o
vi,这个时候整个命令状态就是是VI编辑器了,操作的方法和VI编辑器一摸一样,要重复上次的命令,就在当前状态栏下按ESC,然后输入k,就可以看到下一条命令,按下k就可以查询上一条命令,h可以在当前行向前移动一个字符的位置,l可以在当前行向后移动一个字符的为止,当然这个时候相当于处于vi的状态,所有在vi状态下的对单行操作的命令都可以使用。编辑好之后直接按回车即可。
⑧ vi的常用命令
vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于“命令行模式(command mode)”,您要切换到“插入模式(Insert mode)”才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到“插入模式(Insert mode)”再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在“命令行模式(command mode)”下按一下字母“i”就可以进入“插入模式(Insert mode)”,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于“插入模式(Insert mode)”,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下“ESC”键转到“命令行模式(command mode)”再删除文字。
d) 退出vi及保存文件
在“命令行模式(command mode)”下,按一下“:”冒号键进入“Last line mode”,例如:
: w filename (输入 “w filename”将文章以指定的文件名filename保存)
: wq (输入“wq”,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
3、命令行模式(command mode)功能键
1). 插入模式
按“i”切换进入插入模式“insert mode”,按“i”进入插入模式后是从光标当前位置开始输入文件;
按“a”进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按“o”进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按“ESC”键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”、“j”、“k”、“l”,分别控制光标左、下、上、右移一格。
按“ctrl”+“b”:屏幕往“后”移动一页。
按“ctrl”+“f”:屏幕往“前”移动一页。
按“ctrl”+“u”:屏幕往“后”移动半页。
按“ctrl”+“d”:屏幕往“前”移动半页。
按数字“0”:移到文章的开头。
按“G”:移动到文章的最后。
按“$”:移动到光标所在行的“行尾”。
按“^”:移动到光标所在行的“行首”
按“w”:光标跳到下个字的开头
按“e”:光标跳到下个字的字尾
按“b”:光标回到上个字的开头
按“#l”:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
“x”:每按一次,删除光标所在位置的“后面”一个字符。
“#x”:例如,“6x”表示删除光标所在位置的“后面”6个字符。
“X”:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
“#X”:例如,“20X”表示删除光标所在位置的“前面”20个字符。
“dd”:删除光标所在行。
“#dd”:从光标所在行开始删除#行
5). 复制
“yw”:将光标所在之处到字尾的字符复制到缓冲区中。
“#yw”:复制#个字到缓冲区
“yy”:复制光标所在行到缓冲区。
“#yy”:例如,“6yy”表示拷贝从光标所在的该行“往下数”6行文字。
“p”:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
“r”:替换光标所在处的字符。
“R”:替换光标所到之处的字符,直到按下“ESC”键为止。
7). 回复上一次操作
“u”:如果您误执行一个命令,可以马上按下“u”,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
“cw”:更改光标所在处的字到字尾处
“c#w”:例如,“c3w”表示更改3个字
9). 跳至指定的行
“ctrl”+“g”列出光标所在行的行号。
“#G”:例如,“15G”,表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用“last line mode”之前,请记住先按“ESC”键确定您已经处于“command mode”下后,再按“:”冒号即可进入“last line mode”。
A) 列出行号
“set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
“#”:“#”号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
“/关键字”:先按“/”键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按“n”会往后寻找到您要的关键字为止。
“?关键字”:先按“?”键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按“n”会往前寻找到您要的关键字为止。
D) 保存文件
“w”:在冒号输入字母“w”就可以将文件保存起来。
E) 离开vi
“q”:按“q”就是退出,如果无法离开vi,可以在“q”后跟一个“!”强制离开vi。
“qw”:一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。
5、vi命令列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字“0”,光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
#X
删除光标前面的#个字符
dd
删除光标所在的行
#dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
#yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
#yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
#cw
更改光标所在位置的#个字
2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename
wq filename
储存正在编辑的文件为filename,并退出vi
q!
放弃所有修改,退出vi
set nu
显示行号
/或?
查找,在/后输入要查找的内容
n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。
对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于“命令行模式(command mode)”,您要切换到“插入模式(Insert mode)”才能够输入文字。切换方法:在“命令行模式(command mode)”下按一下字母“i”就可以进入“插入模式(Insert mode)”,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按“ESC”键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)
⑨ unix vi 下的 set问题
:set ai:让vi自动对齐.:set noai 取消自动对齐。
:set showmatch :set noshowmatch 高亮显示(set noshowmatch不显示){, }, (, ), [, 或者 ] 的匹配情况
:set tabstop=4 shiftwidth=4 :设置制表停止位(tabstop)的长度:当使用移动(shift)命令时移动的字符数
:syntax on :开启语法高亮显示
:set cindent :在C编码时,用户常常想要indent缩进内嵌代码块。若要在编码时自动完成它在C编码时,如果想要indent缩进内嵌代码块。设置该命令则自动完成。
set smartindent :为C程序提供自动缩进
这些命令都是在unix 下开发时用的比较多,一般我用VI都很少用这些命令的。