admin 管理员组文章数量: 887021
vi
1 常用按键组合
1.1 光标移动
- 【page down】 下一页
- 【page up】上一页
- 【home】光标移动到该行第一个字符
- 【end】光标移动到该行最后一个字符
- 【G】该文件最后一行
- 【gg】该文件首行
1.2 搜寻和取代
- /word 向光标之下寻找一个叫word的字符串
- ?word 向光标之上寻找一个叫word的字符串
- 【n】重复上一个搜寻动作
- 【N】和n相反,表示反向进行上一个动作
- :n1,n2s/word1/word2/g 在n1和n2行之间寻找word1这个字符串,并将其取代为word2
- :1,$s/word1/word2/g 在全文寻找word1这个字符串,并将其取代为word2
- :1,$s/word1/word2/g 在全文寻找word1这个字符串,并提示用户是否将其取代为word2
1.3 删除 复制粘贴(在非编辑状态下)
- 【dd】删除游标所在的一整行。
- 【ndd】向下删除n行。
- 【d1G】删除光标所在到第一行的所有数据。
- 【dG】删除光标所在到最后一行的所有数据。
- 【yy】复制游标所在的那一行。
- 【u】复原上一个动作,也就是撤回。
- 【CTRL+r】重复上一个动作。
1.4 指令列模式下的常用按钮
- 【ZZ】 文件没有更动,则不存储离开,如果有改变,则保存后离开。
- 【:w [filename] 】将编辑后的内容保存成另一个文件。
- 【:r[filename] 】将该文件内容写入到从游标所在位置开始的后面。
- 【:n1,n2 w [filename] 】将n1行到n2行的内容存储成filename这个文件。
vim
1 同时编辑多文本文件
vim 文件1 文件2
:n 切换到下一个文件
:N 切换到上一个文件
:files 列出这个vim正在编辑的所有文件
2 分区窗口
也就是说,一个窗口显示多个文件或者一个文件分区显示
vim file1
:sp[filename] 开启新分区打开文件,如果不写filename 默认将该文件再次打开。
【ctrl+w+向上箭头/向下箭头】 光标在文件之间的切换。
【ctrl+w+q】 结束离开该分区,或者直接保存退出。
如下:
3 补全功能
ctrl+x -> ctrl+n 内容补全(文件中反复出现的,会有提示)。
ctrl+x -> ctrl+o 以扩展名作为语法补充,以vim内建的关键字予以补充。
vim 环境设定和记录: ~/.vimrc,~/.viminfo
我们每次的vim操作都会记录在~/.viminfo
中。
vim的设置一般放在/etc/vimrc
下,但是一般不建议去修改它,而是在~
目录下新建.vimrc
在这里说几个常用的vim设定:
:set nu 设置行号
:set nonu 取消行号
vi和vim的中文乱码问题
要考虑的地方:
1 首先linux系统默认支持的语系数据 查看 /etc/locale.conf。
2 你的终端界面(bash)的语系,这与LANG和LC_ALL这几个变数有关。
3 你的文件原来的编码方式。
4 开启终端机的软件,例如在GNOME底下的窗口接口。
一般出现的问题都在3和4上,3和4的编码不一致导致。
4的问题的修改,比如目前文件的编码是big5,那么修改终端机软件的编码如下:
编码方式的转换
1首先查看该文件的编码方式
方式1:
在vim下使用
:set fileencoding
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc
文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
方式2:
enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca
安装 )查看文件编码
2 编码方式的转换
- 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
- enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename
- iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
选项和参数:
版权声明:本文标题:linux--vi和vim的详细使用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724512397h753629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论