vi和vim

一、vi快捷键
移动光标快捷键
hjkl方向键:←↓↑→
数字+j/k向下/向上多少行
ctrl+f向下翻一页
ctrl+b向上翻一页
ctrl+d向下翻半页
ctrl+u向上翻半页
ctrl+o回到之前的位置
ctrl+i回到下一个位置
+/-光标移动到非空格符的下/上一列
数字+空格向右移动这一行的n个字符
数字0或Home键光标移动到这一行的首字符
$或End键光标移动到这一行的最后一个字符
H光标移动到屏幕最上方第一个字符
M光标移动到屏幕中间第一个字符
L 光标移动到屏幕最下方第一个字符
G移到文件最后一行
数字+G移动到文件的第多少行
gg移动到文件的第一行
数字+enter光标向下移动n行
查找与替换
/word向下查找某个单词,按n正向查找
/word\c忽略一次大小写查找单词
?word向上查找某个单词,按N正向查找
:#,#s/old/new/g在#行和#行之间全部替换成新的单词
:1,$s/old/new/gc从第一行到最后一行替换单词,并询问
删除、复制与粘贴
x,Xx-向后删除字符,X-向前删除字符
数字+x向后删除n个字符
dd删除光标所在那一行
数字+dd向下删除n行
d1G删除从光标所在处到第一行的数据
dG删除从光标所在处到最后一行的数据
d$删除从光标所在处到该行最后一个字符
d0删除从光标所在处到该行第一个字符
dw从光标处删除一个单词
数字+dw从光标处删除n个单词
yy复制光标所在那一行
数字+yy复制光标所在向下n行
y1G复制光标所在到第一行的数据
yG复制光标所在到最后一行的数据
y0复制光标所在到该行第一个字符的所有数据
y$复制光标所在到该行最后一个字符的所有数据
p,Pp向后粘贴,P向上粘贴
J将光标所在行与下一行整合成同一行
u,Uu-撤销上一次操作,U-撤销整行操作
ctrl+r恢复撤销
.重复前一个动作
i,Ii-从光标处插入,I-从所在行第一个字符插入
a,Aa-从光标所在位置下一个字符插入,A-从最后一个字符插入
o,Oo-在光标所在行下一行插入,O-在光标所在行上一行插入
r,Rr-取代一次,R-一直取代
指令列储存及离开
:w保存
:w!文件为只读属性时强行写入
:q离开
:q!放弃修改强行离开
:wq保存后离开
:wq!文件为只读属性时强行写入并退出
:w  新文件名另存为
:! 命令切出去执行命令
:!部分命令,按ctrl+d显示联想的命令
:r   文件名从光标所在行后面读入别的文件的内容
:r  !,命令读入命令的输出
按v,:w  新文件名按v进入视图模式,:w  新文件名是保存光标所在行并另存
:#,#  w  新文件名另存第几到第几行之间的内容并另存
:set  nu/nonunu-显示行号,nonu-不显示行号
:set  ic/noicic-忽略大小写,noic-不忽略大小写
:set  hls  is高亮显示查找到的字符
:nohlsearch或:set  nohls取消高亮显示

二、vim
1、暂存档和恢复
当使用vim时,vim会在同一目录下建立一个名为“.编辑的文件名.swp”的存档。当使用vim再次打开之前的文件时,会出现错误提示,并有几个选项可供选择:
O以只读模式打开
E放弃载入暂存档,直接编辑(不推荐)
R恢复暂存档,但是需要手动删除swp文件,以便下次用新的swp
D删除暂存档,重新编辑
Q离开vim
A与Q类似

2、区块选择
v字符选择,会将光标经过的地方反白选择
V行选择,会将光标经过的行反白选择
ctrl+v区块选择,可以多行选择,有点类似列编辑
y将反白的地方复制
d将反白的地方删除

3、多文件编辑
vim file1 file2 ...
:n编辑下一个文件
:N编辑上一个文件
:files列出vim开启的所有文件

4、多窗口编辑
:sp将当前编辑中的文件分成上下2个窗口,可分多次
:sp  文件名可引入其他文件,引入的新文件在最上面的窗口展示
ctrl + w + j/↓先按住ctrl不放,再按下w之后放下松开所有键,再按下j或↓可以上下切换窗口
ctrl + w + k/↑先按住ctrl不放,再按下w之后放下松开所有键,再按下k或↑可以上下切换窗口
ctrl + w + q如果没有做任何修改,先按住ctrl不放,再按下w之后放下松开所有键,再按下q可以退出

5、vim环境设定与记录
:set  nu/nonu显示/不显示行号
:set  hlsearch/nohlsearch将查询到的匹配字符高亮/不高亮显示
:set  autoindent/noautoindent自动/不自动缩排,缩排就是当按下enter时,光标不会在行首,而是在与上一排对齐的非空字符处
:set  backup/nobackup设置自动备份存档,会在相同目录下生成”filename~“的文件,一般不设置自动存档
:set  ruler显示右下角的状态栏
:set  showmode显示左下角的状态栏
:set  backspace=0/1/2在按下i进行编辑时,2-可以删除任意字符,0/1-仅可删除刚输入的字符,不可删除原本就存在的字符
:set  all显示目前所有的环境参数设定值
:set显示与系统设定值不同的参数,即自行更改的参数
:syntax  on/off语法检查,适用于程序编写,会有不同的颜色显示
:set  bg=dark/light设置背景颜色,默认是light
这些设定值一般都放在/etc/vimrc下,这里介绍一下rc文件,rc即“run command”rc是所有脚本类文件的后缀,这些脚本通常在程序启动阶段被调用。但是此处不建议修改/etc/vimrc这个文件,建议修改~/.vimrc。其中~/.vimrc的注释是使用双引号(“),并且里面的设置内容使用 :set  ruler和set  ruler是一样的,即可以有也可以没有冒号

6、vim中文乱码问题
中文乱码与以下几点有关:
  • /etc/sysconfig/i18n
  • LANG环境变量
  • 文件的原本编码
  • 远程连接的软件使用的编码
最主要的是上面的第3点和第4点,如果这2个编码一致,就不会出现中文乱码。

7、DOS和Linux的断行符
DOS的断行符是^M$,及CRLF,Linux的断行符是$,及LF。Linux指令执行的依据是Enter,也即LF。如果在Linux环境下执行dos系统的shell脚本,就可能会报错。所以需要将dos格式的脚本转换为linux格式。Linux为我们提供了互相转换的命令:
dos2unix/unix2dos 【-kn】 原文件 新文件
-k 保留原文件的mtime,不修改mtime
-n 保留原文件,生成新文件

8、编码转换
iconv -f 原编码 -t 新编码 文件名 【-o 新文件名】
-l 列出iconv支持的所有编码格式
-f from的意思,后面接原来的编码
-t to的意思,后面接新的编码
-o 如果要保留原文件,使用-o 新文件名
iconv还可以接收管道流


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值