本页主题: vi set用法-vi set命令 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

student
屋宇
新人进步奖 灌水天才奖
级别: 圣骑士


精华: 4
发帖: 935
威望: 82 点
金币: 240 元
贡献值: 154 点
好评度: 2133 点
在线时间:607(小时)
注册时间:2008-06-24
最后登录:2010-03-03

 vi set用法-vi set命令

0
vi set用法-vi set命令

一、常用收集如下:(vi set)

set autoindent      

在插入模式下,对每行按与上行同样的标准进行缩进,与shiftwidth选项结合使用

set list    

把制表符显示为^I ,用$标示行尾(使用list分辨尾部的字符是tab还是空格)

set number  

显示行号

set readonly

文件只读,除非使用!可写

set shiftwidth

反向制表符中的空格数目

set showmatch

在vi中输入),}时,光标会暂时的回到相匹配的(,{   (如果没有相匹配的就发出错误信息的铃声),编程时很有用

set tabstop

指定tab缩进的字符数目

set wrapscan

授索在文件的两端绕回

二、vim set 在vi的基础上增加了如下(常用):

set smartindent    

set cindent

以上两行都是编程用的c自动缩进

……

三、set 设置可以在命令行输入,也可以写在$HOME下的.exrc (如果是vi)或者.vimrc(如果是vim)中。写进去很方便的。




vi编辑器里面包括了定制vi会话的操作,例如:
1、显示行号
2、显示不可视字符,例如tab和行结尾字符
在命令模式下使用set命令可以控制这些选项:
编辑定制vi会话命令
命令功能
:set nu显示行号
:set nonu隐藏行号
:set ic设置搜索时忽略大小写
:set noic搜索时对大小写敏感
:set list显示不可视字符
:set nolist不显示不可视字符
:set showmode显示当前操作模式
:set shownomode不显示当前操作模式
:set显示所有的vi环境变量设置
:set all显示所有的vi环境变量可能取值及其当前设置值
你也可以把这些操作放在home目录下你创建的文件.exec中,set操作放在该文件中,不用带前面的:,一行一个命令,一旦该文件存在时,每次你开启一个vi会话时系统将取读取该文件来设置对应的vi环境变量。
要找某一特定行,使用下面的选项:
定位命令
命令 功能
G到文件最后一行
1G到文件的一行
:21到第21行
21G到第21行
本帖最近评分记录:
  • 金币:+5(asterisk) 经典资料,感谢!
  • 金币:+5(asterisk) 经典资料,感谢!
  • 顶端 Posted: 2009-09-08 14:53 | [楼 主]
    student
    屋宇
    新人进步奖 灌水天才奖
    级别: 圣骑士


    精华: 4
    发帖: 935
    威望: 82 点
    金币: 240 元
    贡献值: 154 点
    好评度: 2133 点
    在线时间:607(小时)
    注册时间:2008-06-24
    最后登录:2010-03-03

     

    vi介绍
    vi编辑器是一个用于创建和修改文本文件的交互式编辑器。使用vi编辑器时所有的文本编辑都放在一个缓冲区中,可以把所作的修改写到磁盘也可以放弃所做的修改。
    对于那些有志于成为系统管理员的人而言,掌握如何使用vi编辑器是非常重要的。你必须知道如何使用vi编辑器,特别是在窗口环境不可用的时候。
    Vi编辑器的工作模式
    Vi编辑器是一个命令行编辑器,有三种基本的操作模式:
    命令模式
    文本输入模式(编辑模式)
    最后行模式
    命令模式:vi的默认模式,在命令模式下,你可以键入命令来删除、更改、移动文本;定位光标;搜索文本字符串、退出vi编辑器。
    文本输入模式(编辑模式):在编辑模式下,你可以往文件中输入文本。要使vi编辑器进入编辑模式下,可以采用以下三种不同的命令:
    i插入
    o打开
    a 添加
    最后行模式:当处于命令模式下时,通过键入:你可以执行更先进的编辑命令,键入:后,将使你处于屏幕的最后一行,这就称为最后行模式。然而,所有的命令都是由命令模式发起的。
    模式间的切换
    通过键入I、o、a命令,vi编辑器将离开默认的命令模式,进入编辑模式。
    在编辑模式下,你所键入的所有文本都不会被翻译成命令,这时,所有键入的文本都会被保存到文件中。
    当你完成了文本的输入后,按Esc键vi将回到命令模式下,一旦回到命令模式,你可以保存文件,退出vi编辑器,例如:
    1、键入vi filename来创建一个文件;
    2、键入I命令来插入文本;
    3、按Esc键回到命令模式;
    4、键入:wq来保存到文件,退出vi编辑器。
    调用vi编辑器
    要创建一个新文件,调用带新文件名称的vi编辑器。也可以键入命令来创建、编辑、查看一个文件。
    命令格式
    vi options filename
    view filename
    输入命令
    要插入或者添加文本,使用下面的选项:
    命令含义
    a 在光标右侧输入文本
    A 在光标所在行的末尾输入文本
    I在光标左侧输入文本
    I 在光标所在行的开头输入文本
    O在光标所在行的下一行开始新行
    O在光标所在行的上一行开始新行
    备注:vi编辑器是大小写敏感的,因此,使用命令时注意正确的大小写。
    定位命令
    下面列出的是控制光标的移动键
    键功能
    h,左箭头,退格键光标左移一个空格
    j,下箭头光标下移一行
    k,上箭头光标上移一行
    l,右箭头,空格键光标右移一个空格
    w光标右移,到下一个字开头
    b光标左移,到前一个字开头
    e光标右移,到下一个字末尾
    $光标右移到行结尾
    0,^光标左移到行开头
    回车键光标移到下一行开头
    control-f下翻一屏
    control-d下滚半屏
    control-b上翻一屏
    control-u上滚半屏
    control-L刷新屏幕
    编辑命令
    以下部分讲解vi编辑器中的编辑命令
    删除文本
    要删除文本,使用下面选项:
    vi编辑器中的文本删除命令
    命令功能
    x删除光标所在处的一个字符
    dw删除字(或者删除字的一部分,从光标所在处到字结尾)
    dd删除光标所在行
    D删除光标光标所在处之右的行
    :5,10d删除5-10行
    备注:命令3dw删除光标所在处开始的三个字,同样,3dd删除光标所在行开始的3行。
    撤销、重复、修改文本命令
    要修改文本、撤销修改或者是重复编辑命令,使用下面的编辑命令,许多命令是vi编辑器进入编辑模式,要返回命令模式,按Esc键即可:
    命令功能
    cw修改字(部分字,从光标所在处开始到一个字的结尾)
    R从当前光标所在处位置开始替换字符(注:vi将进入编辑模式)
    C从光标坐在处开始修改,到行末尾结束
    s用字符替换字符串
    r替换当前光标所在的字符
    J合并当前行以及下面行
    Xp转置光标所在处字符与另一字符
    ~更改光标所在处字符大小写
    u放弃最近的修改
    U放弃对当前行所作的修改
    :u放弃上一个最后行命令(用于最后行模式)
    :r filename在当前光标所在处读入文件文本
    查找和替换文本,使用以下选项:
    命令功能
    /string向下查找字符串string
    ?string向上查找字符串string
    n查找字符串string的下一个出现
    N查找字符串string的上一个出现
    :%s/old/new/g 全局查找和替换
    拷贝和粘贴文本
    拷贝命令把需要拷贝的文本放入一个临时缓冲区,粘贴命令从临时缓冲区中读取文本,并把文本写道当前文档的指定位置。拷贝和粘贴使用的选项如下:
    命令功能
    yy(小写)复制一行文本,并将他们放入到临时缓冲区
    p(小写)将临时缓冲区中的内容放置到光标后面的位置
    P(大写)将临时缓冲区中的内容放置到光标前面的位置
    :l,3 co 5拷贝1-3行的文本,并把它放置在第5行后面
    :4,6 m 8移动4-6行到第8行,第6行称为第8行,第5行称为第7行,第4行称为第6行
    保存和退出文件
    要保存和退出文件,使用如下选项:
    命令功能
    :w保存文件,不退出vi
    :w new_filename保存到文件new_filename中
    :wq保存修改退出vi
    :x保存修改并退出vi
    ZZ保存修改且退出vi
    :q!不保存修改,退出vi
    :wq!保存修改,退出vi
    定制vi会话
    顶端 Posted: 2009-09-08 14:54 | 1 楼
    student
    屋宇
    新人进步奖 灌水天才奖
    级别: 圣骑士


    精华: 4
    发帖: 935
    威望: 82 点
    金币: 240 元
    贡献值: 154 点
    好评度: 2133 点
    在线时间:607(小时)
    注册时间:2008-06-24
    最后登录:2010-03-03

     

    1 "===============================================================================
    2 " Filename: vimrc
    3 " Author: Wu Yin(吴垠)
    4 " Email: lazy_fox#gmail.com
    5 " Homepage: http://blog.csdn.net/wooin
    6 " Created: 2007-10-26
    7 "===============================================================================
    8 set encoding=gb2312 9 set guifont=Luxi\ Mono\
    9 " 设置字体,字体名称和字号
    10 set tabstop=4 " 设置tab键的宽度
    11 set backspace=2 " 设置退格键可用
    12 set nu! " 显示行号
    13 set vbt_vb= " vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
    14 "set wrap " 自动换行
    15 "set nowrap " 不自动换行
    16 set linebreak " 整词换行
    17 set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去
    18 "set list " 显示制表符
    19 "set listchars = tab:>-,trail:- " 将制表符显示为'>---',将行尾空格显示为'-'
    20 set listchars=tab:.\ ,trail:. " 将制表符显示为'. '
    21 set autochdir " 自动设置目录为正在编辑的文件所在的目录
    22 set hidden " 没有保存的缓冲区可以自动被隐藏
    23 set scrolloff=5
    24
    25 "--------------------------------------------------------------------------------
    26 " 查找/替换相关的设置
    27 "--------------------------------------------------------------------------------
    28 set hlsearch " 高亮显示搜索结果
    29 set incsearch " 查询时非常方便,如要查找book单词,当输入到/b时,会自动找到
    30 " 第一个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的
    31 " 单词,依次类推,进行查找时,使用此设置会快速找到答案,当你
    32 " 找要匹配的单词时,别忘记回车
    33 set gdefault " 替换时所有的行内匹配都被替换,而不是只有第一个
    34
    35 "--------------------------------------------------------------------------------
    36 " 状态栏相关的设置
    37 "--------------------------------------------------------------------------------
    38 set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
    39 set laststatus=2 " always show the status line
    40 set ruler " 在编辑过程中,在右下角显示光标位置的状态行
    41
    42 "--------------------------------------------------------------------------------
    43 " 编程相关的设置
    44 "--------------------------------------------------------------------------------
    45 set completeopt=longest,menu " 关掉智能补全时的预览窗口
    46 filetype pluginindenton " 加了这句才可以用智能补全
    47 :set tags=/home/nfs/microwindows/src/tags
    48 syn on " 打开语法高亮
    49 set showmatch " 设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
    50 set smartindent " 智能对齐方式
    51 set shiftwidth=4 " 换行时行间交错使用4个空格
    52 set autoindent " 自动对齐
    53 set ai! " 设置自动缩进
    54 colorscheme desert_wuyin
    55
    56 "--------------------------------------------------------------------------------
    57 " 代码折叠
    58 "--------------------------------------------------------------------------------
    59 "set foldmarker={,}
    60 "set foldmethod=marker
    61 set foldmethod=syntax
    62 set foldlevel=100 " Don't autofold anything (but I can still fold manually)
    63 "set foldopen-=search " don't open folds when you search into them
    64 "set foldopen-=undo " don't open folds when you undo stuff
    65 "set foldcolumn=4
    66
    67 "--------------------------------------------------------------------------------
    68 " 模仿MS Windows中的快捷键
    69 "--------------------------------------------------------------------------------
    70 vmap <C-c> "yy
    71 vmap <C-x> "yd
    72 nmap <C-v> "yp
    73 vmap <C-v> "yp
    74 nmap <C-a> ggvG$
    75
    76 "--------------------------------------------------------------------------------
    77 " 窗口操作的快捷键
    78 "--------------------------------------------------------------------------------
    79 nmap wv <C-w>v " 垂直分割当前窗口
    80 nmap wc <C-w>c " 关闭当前窗口
    81 nmap ws <C-w>s " 水平分割当前窗口
    82
    83 "--------------------------------------------------------------------------------
    84 " 模仿MS Windows中的保存命令: Ctrl+S
    85 "--------------------------------------------------------------------------------
    86 imap <C-s> <Esc>:wa<cr>i<Right>
    87 nmap <C-s> :wa<cr>
    88
    89
    90
    91
    92 "###############################################################################
    93 " The following is the Plugins' setting
    94 "###############################################################################
    95
    96 "--------------------------------------------------------------------------------
    97 " TagList :Tlist
    98 "--------------------------------------------------------------------------------
    99 let Tlist_Show_One_File=1
    100 let Tlist_Exit_OnlyWindow = 1
    101 "let Tlist_Use_Right_Window=1
    102
    103 "--------------------------------------------------------------------------------
    104 " netrw 文件浏览器 :e <PATH>
    105 "--------------------------------------------------------------------------------
    106 "let g:netrw_winsize = 30 " 浏览器宽度
    107
    108 "--------------------------------------------------------------------------------
    109 " QuickFix
    110 "--------------------------------------------------------------------------------
    111 nmap <F6> :cn<cr> " 切换到下一个结果
    112 nmap <F7> :cp<cr> " 切换到上一个结果
    113
    114 "--------------------------------------------------------------------------------
    115 " WinManager :WMToggle
    116 "--------------------------------------------------------------------------------
    117 let g:winManagerWindowLayout='FileExplorer|TagList'
    118 "let g:winManagerWidth = 30
    119 "let g:defaultExplorer = 0
    120 "nmap <C-w><C-b> :BottomExplorerWindow<cr> " 切换到最下面一个窗格
    121 "nmap <C-w><C-f> :FirstExplorerWindow<cr> " 切换到最上面一个窗格
    122 nmap wm :WMToggle<cr> " 是nomal模式的命令,不是Ex模式的
    123
    124 "--------------------------------------------------------------------------------
    125 " MiniBufExp
    126 "--------------------------------------------------------------------------------
    127 "let g:miniBufExplMapWindowNavVim = 1
    128 let g:miniBufExplMapWindowNavArrows = 1
    129 let g:miniBufExplMapCTabSwitchBufs = 1
    130 "let g:miniBufExplModSelTarget = 1
    131
    132 "--------------------------------------------------------------------------------
    133 " cscope
    134 "--------------------------------------------------------------------------------
    135 cs add /home/nfs/microwindows/src/cscope.out /home/nfs/microwindows/src
    136 :set cscopequickfix=s-,c-,d-,i-,t-,e-
    137 :set cscopetag
    138 " 按下面这种组合键有技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪
    139 " 就回到nomal状态了
    140 " <C-_>s的按法是先按"Ctrl+Shift+-",然后很快再按"s"
    141 nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    142 nmap <C-_>g :cs find g <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    143 nmap <C-_>c :cs find c <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    144 nmap <C-_>t :cs find t <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    145 nmap <C-_>e :cs find e <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    146 nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<cr><cr>
    147 nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<cr><cr> :cw<cr>
    148 nmap <C-_>d :cs find d <C-R>=expand("<cword>")<cr><cr> :cw<cr>
    149
    150 "--------------------------------------------------------------------------------
    151 " Grep
    152 "--------------------------------------------------------------------------------
    153 "直接按下<F3>键来查找光标所在的字符串
    154 nnoremap <silent> <F3> :Rgrep<CR>
    155
    156 "--------------------------------------------------------------------------------
    157 " A
    158 "--------------------------------------------------------------------------------
    159 nnoremap <silent> <F12> :A<CR>
    160
    161 "--------------------------------------------------------------------------------
    162 " NERD_commenter
    163 "--------------------------------------------------------------------------------
    164 let NERD_c_alt_style = 1 " 将C语言的注释符号改为//, 默认是/**/
    165 "nmap <F5> ,cc
    166
    167 "--------------------------------------------------------------------------------
    168 " SuperTab :SuperTabHelp
    169 "--------------------------------------------------------------------------------
    170 let g:SuperTabRetainCompletionType = 2
    171 let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
    172
    173 "--------------------------------------------------------------------------------
    174 " CVim :help csupport
    175 "--------------------------------------------------------------------------------
    176 let g:C_Comments = "no" " 用C++的注释风格
    177 let g:C_BraceOnNewLine = "no" " '{'是否独自一行
    178 let g:C_AuthorName = "Wu Yin"
    179 let g:C_Project="F9"
    180 let g:Cpp_Template_Function = "c-function-description-wuyin"
    181 let g:C_TypeOfH = "c" " *.h文件的文件类型是C还是C++
    182
    183 "##################################################################
    184 "########################## End Of Vimrc ##########################
    185 "##################################################################
    186
    187 " if filetype is C
    188 " TODO
    189 " fi

    转载出处:http://blog.csdn.net/wooin/archive/2007/11/16/1887737.aspx
    [ 此贴被student在2009-09-08 15:14重新编辑 ]
    顶端 Posted: 2009-09-08 15:02 | 2 楼
    student
    屋宇
    新人进步奖 灌水天才奖
    级别: 圣骑士


    精华: 4
    发帖: 935
    威望: 82 点
    金币: 240 元
    贡献值: 154 点
    好评度: 2133 点
    在线时间:607(小时)
    注册时间:2008-06-24
    最后登录:2010-03-03

     

    v
    root@wellya:/root> cat  /root/.vimrc  
    set ic
    set nu
    root@wellya:/root>
    顶端 Posted: 2009-09-08 15:18 | 3 楼
    帖子浏览记录 版块浏览记录
    互联互通WeLLYa.NET|通信资源网|通信行业论坛|VoIP|NGN|IMS|3G » 【Others】

    v
    Total 0.198061(s) query 6, Time now is:03-11 01:10, Gzip enabled
    Powered by PHPWind v6.3 Certificate Code © 2003-08 PHPWind.com Corporation