zoukankan      html  css  js  c++  java
  • Ubuntu下vim的配置

    由于刚开始学习Linux,对佷多操作还不熟悉,遇到了一些困难,在这里记录一下。

        1  安装vim。俺我现在的理解,vim有控制台版本和GUI版本。控制台版本貌似是Ubuntu自带的,可以在终端输入 vim执行一下。GUI版本需要自己下,在终端执行

    sudo apt-get install vim-gtk即可安装。

        2  随后是设置一些属性。

    在终端输入 sudo -s进入根目录,

    随后输入密码,然后是cd etc/vim

    接着是 vim vimrc

    此时便会出现etc/vim/vimrc里面的内容。大致如下:

    大致如下:

    " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
    " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
    " you can find below. If you wish to change any of those settings, you should
    " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
    " everytime an upgrade of the vim packages is performed. It is recommended to
    " make changes after sourcing debian.vim since it alters the value of the
    " 'compatible' option.

    " This line should not be removed as it ensures that various options are
    " properly set to work with the Vim-related packages available in Debian.
    runtime! debian.vim

    " Uncomment the next line to make Vim more Vi-compatible
    " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
    " options, so any other options should be set AFTER setting 'compatible'.
    "set compatible

    " Vim5 and later versions support syntax highlighting. Uncommenting the next
    " line enables syntax highlighting by default.
    "syntax on

    " If using a dark background within the editing area and syntax highlighting
    " turn on this option as well
    "set background=dark

    " Uncomment the following to have Vim jump to the last position when
    " reopening a file
    "if has("autocmd")
    " au BufReadPost * if line("'"") > 0 && line("'"") <= line("$")
    "    | exe "normal g'"" | endif
    "endif

    " Uncomment the following to have Vim load indentation rules according to the
    " detected filetype. Per default Debian Vim only load filetype specific
    " plugins.
    "if has("autocmd")
    " filetype indent on
    "endif

    " The following are commented out as they cause vim to behave a lot
    " differently from regular Vi. They are highly recommended though.
    "set showcmd        " Show (partial) command in status line.
    "set showmatch        " Show matching brackets.
    "set ignorecase        " Do case insensitive matching
    "set smartcase        " Do smart case matching
    "set incsearch        " Incremental search
    "set autowrite        " Automatically save before commands like :next and :make
    "set hidden             " Hide buffers when they are abandoned
    "set mouse=a        " Enable mouse usage (all modes) in terminals

    " Source a global configuration file if available
    " XXX Deprecated, please move your changes here in /etc/vim/vimrc
    if filereadable("/etc/vim/vimrc.local")
    source /etc/vim/vimrc.local
    endif

          然后按下i键(插入命令),此时在最下面会出现“--插入--”的字样,随后将下列语句插入到最后(可以根据注释结合自己的需要来取舍, 不一定要全部写入)

    set ai                          " 自动缩进,新行与前面的行保持—致的自动空格
    set aw                        " 自动写,转入shell或使用:n编辑其他文件时,当前的缓冲区被写入
    set flash                     " 在出错处闪烁但不呜叫(缺省)
    set ic                          " 在查询及模式匹配时忽赂大小写
    set nu        
    set number                " 屏幕左边显示行号
    set showmatch          " 显示括号配对,当键入“]”“)”时,高亮度显示匹配的括号
    set showmode           " 处于文本输入方式时加亮按钮条中的模式指示器
    set showcmd             " 在状态栏显示目前所执行的指令,未完成的指令片段亦会显示出来
    set warn/nowarn        " 对文本进行了新的修改后,离开shell时系统给出显示(缺省)
    set ws/nows               " 在搜索时如到达文件尾则绕回文件头继续搜索
    set wrap/nowrap        " 长行显示自动折行
    colorscheme evening " 设定背景为夜间模式
    filetype plugin on        " 自动识别文件类型,自动匹配对应的, “文件类型Plugin.vim”文件,使用缩进定义文件
    set autoindent            " 设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置
    set cindent                 " 以C/C++的模式缩进
    set noignorecase       " 默认区分大小写
    set ruler                     " 打开状态栏标尺
    set scrolloff=5            " 设定光标离窗口上下边界 5 行时窗口自动滚动
    set shiftwidth=4          " 设定 << 和 >> 命令移动时的宽度为 4
    set softtabstop=4       " 使得按退格键时可以一次删掉 4 个空格,不足 4 个时删掉所有剩下的空格)
    set tabstop=4             " 设定 tab 长度为 4
    set wrap                     " 自动换行显示
    syntax enable
    syntax on                    " 自动语法高亮

    然后按ESC退出编辑状态,下面的“--插入--”消失。

    接着按:w保存文件

    随后是:q退出vim返回终端

    如此便完成了对于vim的安装和设定。

    附一些vim的相关知识:

    一  基础知识

    Vim最令人混淆的特征之一是她拥有3种模式.

    插入模式: 输入文本

    命令模式:执行命令. 也称为正常模式.

    Ex模式: 执行 冒号 命令

    插 入模式并不是缺省的模式,您必须按下i来进入插入模式,在屏幕上输入一些文字. 按下按钮将从插入模式转到命令模式.命令模式用于移动和操纵文本,有时以非常有趣的方式进行. Ex模式用于执行冒号命令,比如保存,查找/替换以及配置vim等.欲保存文本,您只需要在正常模式下输入:进入Ex模式并输入:w filename.退出vim请执行冒号命令:q.总结如下,
    vim (启动vim)
    i (进入插入模式)
    <输入文本>
    (回到命令模式)
    :w filename (保存文件为'filename')
    :q (退出vim)
    vim filename (打开您刚才在vim中保存的文件)

    请记住,最好的学习vim的方式是使用她.您可以通过内置的vim教程来学习vim的基本使用,只需要在终端中输入vim-tutor (在dapper中请输入vimtutor).

    二  常用命令

    当你进入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

  • 相关阅读:
    新闻项目——项目准备——代码抽取
    新闻项目——立项准备——框架搭建
    测试总结
    OSI——网络层
    软件测试的方法
    flask中cookie和session介绍
    flask数据库基本操作
    csrf原理和flask的处理流程
    xadmin快速搭建后台管理系统
    orm的聚合索引
  • 原文地址:https://www.cnblogs.com/mafeng/p/5615550.html
Copyright © 2011-2022 走看看