vi命令实际上调用的是vim。
块选择:
- v,字符选择,光标经过的地方反白选择
- V,行选择
- [Ctrl]+v,块选择,长方形
- y,复制反白区域;d,删除
可同时打开多个文本文件,vi file1 file2 ......,可以在多个文件之间进行操作(如复制粘贴)
- :n,编辑下个文件
- :N,上一个
- :files,列出当前打开的所有文件
两种情况下可能会需要多窗口:
- 大文件,对照前后数字
- 两个不同文件对照看
- :sp [filename],将filename在新窗口中打开,若无filename,则重复打开当前文件
- [Ctrl]+w,切换
- [Ctrl]+wq,离开多窗口模式
:set all,该命令可查看所有环境变量的设置,比如syntax(语法高亮),具体环境设置命令另查
多行注释:
: . , +499 s/^/#/g
其中.表示光标当前行,+499表示下面还有多少行
一篇比较好的介绍vim的文章:
中文编码的问题
如果文件编码和终端使用的编码不一致,就会出现乱码现象
tty1-tty6本身预设就不支持中文,也许通过设置可以支持,但应该也不是完美支持
xshell也需要设置中文编码utf-8
语系编码的转换命令
iconv --list
iconv -f 原本编码 -t 新编码 filename [-o newfile]
选项与参数:
--list :列出 iconv 支持的语系资料
-f :from ,亦即来源之意,后接原本的编码格式;
-t :to ,亦即后来的新编码要是什么格式;
-o file:如果要保留原本的文件,那么使用 -o 新档名,可以建立新编码文件。
注意,繁简体之间也可以进行转换.
DOS 与 Linux 的换行符
DOS的换行符是^M$(CRLF),linux的换行符是$(LF)
可以用下面两个命令来进行转换:
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
选项与参数:
-k :保留该档案原本的 mtime 时间格式 (不更新档案上次内容经过修订的时间)
-n :保留原本的旧档,将转换后的内容输出到新档案,如: dos2unix -n old new
转载于:https://blog.51cto.com/heartofrong/531764