ubuntu vi 配置

来源:互联网 发布:java web互相发送文件 编辑:程序博客网 时间:2024/05/11 13:37
原文地址:vi 配置">ubuntu vi 配置作者:阡陌秋寒

本文信息收集自网络不断扩充内容

 

首先安装vim编辑器
$sudo apt-get install vim vim-gnome vim-tiny vim-gtk vim-nox
在用户目录下建立自己的配置文件
#cd ~
touch一个名为.vimrc文件
#touch .vimrc
#vi .vimrc
输入以下配置:
setnocompatible              不使用vi默认键盘布局
setnumber                        显示行号
setautoindent                   自动对齐
setsmartindent                智能对齐
setshowmatch                  括号匹配模式
setruler                              显示状态行
setincsearch                      搜索时一边输入一边显示效果
settabstop=4                      tab键为4个空格
set shiftwidth=4
set softtabstop=4
setcindent                         C语言格式对齐
setnobackup                      不要备份文件
setclipboard+=unnamed    与windows共享剪贴板
syntaxon                            语法高亮

setmouse=a                        鼠标支持

只对各个用户在自己的当前目录下的.vimrc修改的话,修改内容只对本用户有效,要想全部有效,可以修改/etc/vim/vimrc.
1.apt-get install vim-full
2.设置/etc/vim/vimrc加上下面语句:
"语法高亮度显示
  syntax on
"去掉有关vi一致性模式,避免以前版本的一些bug和局限
  set nocompatible
"显示行号
  set number
"检测文件的类型
  filetype on
"记录历史的行数
  set history=1000
"背景使用黑色
  set background=dark
"vim使用自动对齐,也就是把当前行的对起格式应用到下一行
  set autoindent
"依据上面的对起格式,智能的选择对齐方式,对于类似C语言编
  set smartindent
"设置Windows风格的C/C++自动缩进,第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
  set tabstop=4
  set shiftwidth=4
"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
  set showmatch
"去除vim的GUI版本中的toolbar
  set guioptions-=T
"在编辑过程中,在右下角显示光标位置的状态行
  set ruler
"默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
  set nohls
"使用此设置会快速找到答案,当你找要匹配的单词时,别忘记回车
  set incsearch
"如果没有下列行,加上吧
  if&term=="xterm"
  set t_Co=8
  set t_Sb=^[[4%dm
  set t_Sf=^[[3%dm
  endif
  系统的一些设置(包括终端下的颜色,ls命令,vi等)
   注:只对各个用户在自己的当前目录下的.vimrc修改的话,修改内容只对本用户有效,要想全部有效,可以修改/etc/bash.bashrc
      使用alias命令修改之
  将其中的与颜色有关的设置改为:
   # enable color support of lsand also add handy aliases
   if [ "$TERM" != "dumb" ]&& [ -x /usr/bin/dircolors ];then
     eval "`dircolors -b`"
     alias ls='ls --color=auto'
     alias vi='vim'
     alias ll='ls -l --color=auto'
     alias dir='ls --color=auto--format=vertical'
     alias vdir='ls --color=auto --format=long'

     alias grep='grep --color=auto'
     alias fgrep='fgrep --color=auto'
     alias egrep='egrep --color=auto'
  fi
  增加命令:
   # some more ls aliases
   alias ll='ls -l'
   alias la='ls -A'
   alias l='ls -CF'
                 
                   
vi(m)用法
    vi有三种状态,即编辑方式、插入方式和命令方式。
在命令方式下,所有命令都要以:开始,所键入的字符系统均作命令来处理,
如:q 代表退出,:w 表示存盘。
    当你进入vi时,会首先进入命令方式(同时也是编辑方式)。
按下I就进入插入方式,用户输入的可视字符都添加到文件中,显示在屏幕上。
按下ESC就可以回到命令状态(同时也是编辑方式)。
编辑方式和命令方式类似,都是要输入命令,
但它的命令不要以:开始,它直接接受键盘输入的单字符或组合字符命令,
例如直接按下u 就表示取消上一次对文件的修改,相当于WINDOWS 下的Undo 操作。
编译方式下有一些命令是要以/开始的,
例如查找字符串就是:/string 则在文件中匹配查找string 字符串。
在编辑模式下按下:就进入命令方式。
基本命令解释:
1.光标命令
k、j、h、l——上、下、左、右光标移动命令。
虽然您可以在Linux 中使用键盘右边的4 个光标键,
但是记住这4 个命令还是非常有用的。这4 个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n 为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。
2.编辑命令
i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw 、dw—— 改变( 置换)/删除光标所在处的单词的命令 (c=change 、d=delete)。
x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
3.查找命令
---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。
4.拷贝复制命令
---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。
常用操作:
无论是开启新档或修改旧文件,都可以使用vi,所需指令为:
  $ vi filemane
如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。
如果文件早已存在,vi 则会显示文件的首廿四行, 用户可再用光标(cursor)上下移动。


上面是一个经vi 开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。
—指令i 在光标处插入正文
—指令I 在一行开始处插入正文
—指令a 在光标後追加正文
—指令A 在行尾追加正文
—指令o 在光标下面新开一行
—指令O 在光标上面新开一行
在插入方式下,不能打入指令,必需先按〈Esc〉键,返回命令方式。
假若户不知身处何态,也可以按〈Esc〉键,不管处於何态,都会返回命令方式。
在修改文件时,如何存档及退出指定文件都非常重要。在vi 内,行使存档或退出的指令时,
要先按冒号(:),改变为命令方式,用户就可以看见在荧幕左下方,出现冒号(:),
显示vi 已经改为指 令态,可以进行存档或退出等工作。
:q!放弃任何改动而退出vi,也就是强行退出
:w 存档
:w! 对于只读文件强行存档
:wq 存档并退出vi
:x 与wq 的工作一样
:zz 与wq 的工作一样删除正文
删除或修改正文都是利用编辑方式,故此,下面所提及的指令只需在编辑方式下,
直接键入指令即行。
—x 删除光标处字符(Character)
—nx 删除光标处後n 个字符
—nX 删除光标处前n 个字符
—ndw 删除光标处下n 个单词(word)
—dd 删除整行
—d$或D 删除由光标至该行最末
—u 恢复前一次所做的删除
当使用vi 修改正文,加减字符时,就会采用另一组在编辑方式下操作的指令。
— r char 由char 代替光标处的字符
—Rtext〈Esc〉由text 代替光标处的字符
—cwtext〈Esc〉由text 取代光标处的单词
—Ctext〈Esc〉由text 取代光标处至该行结尾处
—cc 使整行空白,但保留光标位置,让你开始打入
—如删除指令一样,在指令前打入的数,表示执行该指令多少次。

要检索文件,必需在编辑方式下进行。
—/str〈Return〉向前搜寻str 直至文件结尾处
—?str〈Return〉往後搜寻str 直至文件开首处
—n 同一方向上重复检索
—N 相反方向上重复检索
—vi 缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。
全程替换命令:
:%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
如果要替换文件中的路径:
使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin 换成/bin。
也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

同时编辑2 个文件,拷贝一个文件中的文本并粘贴到另一个文件中:
命令如下:
---- vi file1 file2
---- yy 在文件1 的光标处拷贝所在行
---- :n 切换到文件2 (n=next) 或者按ctrl+ww,就在两个文件间切换。
---- p 在文件2 的光标所在处粘贴所拷贝的行
---- :n 切换回文件1 (Ctrl +WW 也可实现切换)

将文件中的某一部分修改保存到临时文件,
例如仅仅把第20~59 行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
---- vi file
---- :20,59w /tmp/1

如果要在 vi 执行期间,转到shell 执行,使用惊叹号(!)执行系统指令,
例如在vi 期间,列出当前目录内容,可以键入 :
:!ls
另一方面,用户可以在主目录中创建.exrc 环境文件,用set 打入选项,
每次调用vi 时,就会读入.exrc 中的指令与设置。下面是.exrc 环境文件的实例:
set wrapmarging=8
set showmode
set autoindent

使用鼠标:在终端或者终端窗口里如何使用鼠标

'mouse' 选项的字符决定 Vim 在什么场合下会使用鼠标:
                    普通模式
                    可视模式
                    插入模式
                    命令行模式
                    在帮助文件里,以上所有的模式
                    以上所有的模式
                    跳过 |hit-enter|提示
                    在可视模式下自动选择

'mouse' 的缺省值为空,即不使用鼠标。通常你会用:
       :set mouse=a
来开始使用鼠标 (这等价于设置 'mouse' 为 "nvich")。如果你只想在若干模式下或者在
某两个任务上使用鼠标,你需要专注于那些模式对应的字母。

       :set mouse=nv
会使得鼠标在普通模式和可视模式下工作。
       :set mouse=h
会使得鼠标只有在帮助文件里工作 (这样,可以用"g<LeftMouse>"来进行标签跳转)。
鼠标能否在可视模式或者选择模式下开始选择,决定于 "selectmode" 选项包不包括"mouse"。
在 xterm 终端里,在 'mouse' 选项包含当前激活的模式的前提下,普通的鼠标键击归
Vim 使用,而带 shift 或者 ctrl 键的鼠标键击由 xterm 控制。如果 'mouse' 不包括
当前激活的模式,则所有的鼠标键击由 xterm 控制。
用鼠标和可视模式复制/粘贴 ('mouse' 选项必须设置,见上):
1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放左
   键。这会启动可视模式并高亮选择区域。
2. 按 "y" 抽出可视文本到无名寄存器里。
3. 在要插入的位置上按鼠标左键。
4. 按鼠标中键。

原创粉丝点击