Linux-vim

一、常用命令

安装vim8:
https://blog.csdn.net/nzyalj/article/details/75331822

多行编辑:
首先ctrl - v,进入:
(1)添加。选中,按A,输入,ESC退出。
(2)删除。选中,按A,按d。

1.1 vim使用鼠标

命令:set mouse=a,或者在.vimrc中添加set mouse=a

1.2 vim显示行号

命令:set number
取消行号:set nonumber

1.3 粘贴模式

命令:set paste

1.4 查找/替换

查找单词word : /word
替换:

:s/vivian/sky/ # 替换 当前行 第一个 vivian 为 sky
:s/vivian/sky/g # 替换 当前行 所有的 vivian 为 sky
:n,$s/vivian/sky/ # 替换 第n行 到 最后一行 中 每一行 第一个 vivian 为 sky (若 n 为 .,表示从 当前行 到 最后一行)
:n,$s/vivian/sky/g # 替换 第n行 到 最后一行 中 每一行 所有的 vivian 为 sky (若 n 为 .,表示从 当前行 到 最后一行)
:5,15s/dog/cat/ # 替换 第5行 到 第15行 中 每一行 第一个 dog 为 cat
:5,15s/dog/cat/g # 替换 第5行 到 第15行 中 每一行 所有的 dog 为 cat

替换^V^M:

cat filename1 | tr -d "^V^M" > newfile;
sed -e "s/^V^M//" filename > outputfilename
# 需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。
%s/^V^M// # 在vim中处理
1.5 文件编码
:set invlist # 即可以将不可见的字符显示出来
:set nolist # 可以回到正常的模式
:set fileencoding # 查看文件编码
:set fileencoding=utf-8 # 设置文件编码为utf-8

使用iconv
命令行

iconv -f 现在的编码 -t 要转换的编码 文件
# 执行之后只是输出经过转换的文本而已,要保存的话
iconv -f 现在的编码 -t 要转换的编码 文件 -o 目标文件
# 或者
iconv -f 现在的编码 -t 要转换的编码 文件 > 目标文件
iconv -f utf8 -t gb18030

去掉utf8 的bom

sed -i 's/^\xEF\xBB\xBF//g' test.txt

二、其他

2.1 常用快捷键

0 行首
$ 行尾
G 文档尾部
g 文档首部
参考:
http://www.cnblogs.com/sld666666/archive/2010/04/05/1704462.html

2.2 高亮

搜索高亮:/单词
取消高亮::nohl

2.3 多行编辑

首先ctrl - v,进入:
(1)添加。选中,按A,输入,在输入的时候,只有第一行会显示,不用担心,按ESC退出,每行都会有。
(2)删除。选中,按A,按d
参考:
https://www.jianshu.com/p/50d5b6cfd73b
https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/index.html

2.4 复制、粘贴

在 VISUAL 模式下:
使用,set mouse=a使用鼠标,同时选中字符则自动进入 VISUAL 模式。
复制:y,粘贴:p

其他

较全:https://www.jianshu.com/p/297802d16fb4?from=timeline&isappinstalled=0
https://www.cnblogs.com/linxiyue/p/7834817.html
插件:https://www.jianshu.com/p/297802d16fb4?from=timeline&isappinstalled=0
安装Vundle(插件管理):https://juejin.im/post/5a38c37f6fb9a0450909a151
PluginList - PluginInstall
python补全: https://github.com/davidhalter/jedi-vim
nerdtree: https://www.jianshu.com/p/3066b3191cb1
必备10插件: https://www.cnblogs.com/shanql/p/6048412.html
vim-airline: https://github.com/vim-airline/vim-airline
vim的退格键失效问题:https://www.smslit.top/2016/11/27/vim-backspace-invalid/
源代码跳转(未):https://blog.csdn.net/wuchunlai_2012/article/details/50686012
代码自动格式化(autopep8):https://github.com/tell-k/vim-autopep8

不可见字符:
:set invlist,(^I:tab,$:回车符)
自己定义不可见字符的显示方式:

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

最后,:set nolist可以回到正常的模式。

插入模式下:单词跳转:Shift + (左/右)
滚动、page-上下:ctrl+e/y、f/b

git clone --recursive 'https://github.com/scrooloose/nerdtree.git' '/home/guangbin.lgb/.vim/bundle/nerdtree'

在同一个文件中,快速定位到函数定义部分快捷方式为:gd,返回:ctrl+o

vim打开在上一个关闭的地方

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值