标签归档:vi

Vim中设置Tab为4个空格

在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:

set tabstop=4
set softtabstop=4
set expandtab
set autoindent
set cindent shiftwidth=4

#设置tab为4空格
#设置软缩进为4空格,即显示效果为tab缩进,实际为4空格
#使用空格表示缩进
#设置自动缩进
#设置C语言方式缩进,自动缩进为4空格

对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
TAB替换为空格:

:set ts=4
:set expandtab
:%retab!

空格替换为TAB:

:set ts=4
:set noexpandtab
:%retab!

加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。

vi编辑器替换命令

1、查找:

/abc<Enter>      #查找abc
/ abc <Enter>    #查找abc单词(注意前后的空格)
?abc<Enter>      #向上查找

使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找

2、替换:

行内替换:

:s/foo/bar/         #替换当前行第一个 foo 为 bar
:s/foo/bar/g        #替换当前行所有 foo 为 bar

可以看出,行末的g代表所有,不加则只替换第一个

全文替换:

:n,$s/foo/bar/      #替换第 n 行开始到最后一行中每一行的第一个 foo 为 bar
:n,$s/foo/bar/g     #替换第 n 行开始到最后一行中每一行所有 foo 为 bar
                    #n为数字,若n为".",表示从当前行开始到最后一行
  
:%s/foo/bar/        #替换每一行的第一个 foo 为 bar
:%s/foo/bar/g       #替换每一行中所有 foo 为 bar
:%s/.$//            #替换每一行最后一个元素为空(删除最后一个元素)

 

在VMware中Ubuntu的vi方向键无效的解决办法

问题出现的原因是这个Ubuntu中使用的vi编辑器是原始的vi编辑器,即通过HJKL这几个按键来控制方向。解决办法是安装vim编辑器并使用这个编辑器替代vi。

安装vim:

apt-get install vim

完成安装后,修改文件:

vim /home/username/.bashhrc

在文件中alias字段下加入下面一句:

alias vi='vim'

保存配置。执行下面命令:

..profile

重启配置即可用vi命令使用vim编辑器了