Vim相关的一些配置。
手动安装Vim8之后,发现 sudo vim 命令找不到了。
这里是因为安装到了 /usr/local/bin/vim 目录下。
做一下软链接
1 |
sudo ln -s /usr/local/bin/vim /usr/bin/vim |
然后就可以正常使用 sudo vim 命令了
发现修改/etc/vimrc 文件后不生效了
这里先找到 $VIM 的地址在 /usr/local/share/vim
然后拷贝一份过去:
1 |
sudo cp /etc/vimrc /usr/local/share/vim/vimrc |
相当于是全局的文件地址变更了,然后再删掉 /etc/vimrc 文件
1 |
sudo rm /etc/vimrc |
然后再做一次硬链接:
1 |
sudo ln /usr/local/share/vim/vimrc /etc/vimrc |
这样的话,修改 /etc/vimrc 就等同于修改 /usr/local/share/vim/vimrc
在Vim中设置Tab
1 2 3 |
set tabstop=4 set softtabstop=4 set shiftwidth=4 |
其中 tabstop 表示一个 tab 显示出来是多少个空格的长度,默认 8。
softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。
shiftwidth 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。
另外还可以设置tab和空格
1 |
set noexpandtab / expandtab |
当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。
Vim文件,查看某几行,将某几行复制到另一个文件中
用Cat命令查看文件某几行
1. 查看文件前10行
1 |
cat filename |head -n 10 |
2. 查看文件后10行
1 |
cat filename |tail -n 10 |
3. 查看文件从第十行到最后一行
1 |
cat filename |tail -n +10 |
4. 查看文件前10行的后5行(就是6 7 8 9 10 这5行)
1 |
cat filename |head -n 10 |tail -n 5 |
5. 查看文件前10行的第5行及以后的内容(就是5 6 7 8 9 10这6行)
1 |
cat filename |head -n 10 |tail -n +5 |
简单理解head命令就是前N行, tail命令就是后N行。
比如我要查看第5行到第9行的内容:(文件前9行的第5行及之后的内容)
1 |
cat filename |head -n 9 |tail -n +5 |
用sed命令查看文件
1. 查看文件全部内容
1 |
sed '' filename |
2. 查看文件第4行到第8行的内容
1 |
sed -n '4,8p' filename |
Vim命令 r filename 将 filename这个文件中的内容加到光标所在行后面
Vim命令 !command 暂时离开vim,到命令行模式下执行command
所以我们可以用 r! command 来将执行结果加到光标所在行后面
例如:把filename文件的前十行复制到本文件
1 |
:r! cat filename |head -n 10 |
或者试试 sed命令,将filename文件的5-8行复制到本文件
1 |
:r! sed -n '5,8p' filename |
或者试试Vim的多文件编辑功能
1. 打开一个文件 Test1
2. 使用sp命令打开Test1
1 |
:sp Test2 |
3. 使用[ctrl] + w + ↑ 或者 [ctrl] + w + ↓ 来切换窗口
4. 使用v模式选中,按y复制, 切换窗口,按p粘贴
补充:多文件编辑,sp打开之后,可以用 res 命令修改窗口高度。尝试一下:
1 |
:res 20 |
可以多尝试几个不同的值,看看效果。
Vim自动格式化代码,依次按下 gg=G,自动格式化全文(这里G可用shift+G实现)。
或者格式化部分代码:
- 按键 gg 跳转到第一行
- 按键 shift+v 转到可视模式
- 按键 shift+g 全选(部分选中即可)
- 按键 = 自动格式化选中代码
或者格式化当前行,按下 ==