tag 标签: vim

相关帖子
相关博文
  • 热度 2
    2017-9-17 00:29
    1405 次阅读|
    1 个评论
    一般来说,要安装Vim,只需要执行下面的命令即可: # dnf install vim 但是Fedora26会出现冲突: Error: Transaction check error:   file /usr/share/man/man1/vim.1.gz from install of vim-common-2:8.0.1097-1.fc26.x86_64 conflicts with file from package vim-minimal-2:8.0.662-1.fc26.x86_64 这是因为vim-minimal和vim-common的依赖起了冲突。后者需要的依赖版本比前者新。 要解决这个问题,只需要执行非常简单的一个命令: # dnf upgrade vim-minimal # dnf install vim ​ ​
  • 热度 20
    2017-8-14 18:26
    977 次阅读|
    0 个评论
    在Vim中显示的文本过长,可以设置为折行显示,或者非折行显示。 折行显示的效果: Hello World! Hello World! Hello World! Hello World! Hello W orld! Hello World! Hello World! 1234567890123456789012345678901234567890123456789 01234567890 非折行显示的效果: Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! 123456789012345678901234567890123456789012345678901234567890 折行显示时,文本不会隐藏在右方,一般阅读都采用折行显示,这也是Vim的默认效果。 非折行显示时,列表对齐,方便对比竖列的数据。 设置折行显示(或非折行显示): :set wrap :set nowrap ​ ​
  • 热度 23
    2014-2-27 15:05
    1082 次阅读|
    0 个评论
    12.1 、 Ctags 和 Taglist 插件的安装: 12.1.1、Ctags插件的安装:sudo apt-get install ctags 12.1.2、Taglist插件的安装:首先下载Taglist的压缩包,在ubuntu环境下解压之后,分别将doc/taglist.txt和plugin/taglist.vim拷贝至/usr/share/vim/vim73/doc/和/usr/share/vim/vim73/plugin/,之后可以设置taglist.txt来配置帮助文件 12.2 、建立源码索引关系: 12.2.1、建立源码索引关系:进入linux源码根目录,键入ctags –R建立源码索引关系。如图23: 图23 等索引关系建立完成之后,会在当前目录下发现一个tags文件,如图24: 图24 12.2.2、设置源码浏览窗口: 打开一个源码文件,在命令行模式中输入Tlist,可以以两个窗口的形式打开源码文件,左侧窗口包含源文件中的宏定义、变量、函数等,右侧窗口包含源码,如图25: 图25 此时,快捷键Ctrl+ww可以在两个窗口之间互相切换。 12.2.3、函数跳转: 想要找到某个函数的定义时,移动光标至函数名,按下快捷键Ctrl+]即可跳转到该函数的定义处,按下快捷键Ctrl+T可以回跳。
  • 热度 19
    2012-7-31 18:04
    1219 次阅读|
    0 个评论
    Vim对中文编码的支持   vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings)  其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变 fenc后再w来将此文件存成不同的编码。比如说,我:set fenc=utf-8然后:w就把文件存成utf-8的了,:set fenc=gb18030再:w就把文件存成gb18030的了。这个值对于打开文件的时候是否能够正确地解码没有任何关系。  fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。比如我的vimrc里面这个的设置是 set fileencodings=utf-8,gb18030,utf-16,big5 所以我的vim每打开一个文件,先尝试用utf-8进行解码,如果用utf-8解码到了一半出错(所谓出错的意思是某个地方无法用utf-8正确地 解码),那么就从头来用gb18030重新尝试解码,如果gb18030又出错(注意gb18030并不是像utf-8似的规则编码,所以所谓的出错只是 说某个编码没有对应的有意义的字,比如0),就尝试用utf-16,仍然出错就尝试用big5。这一趟下来,如果中间的某次解码从头到尾都没有出错,那么 vim就认为这个文件是这个编码的,不会再进行后面的尝试了。这个时候,fenc的值就会被设为vim最后采用的编码值,可以用:set fenc?来查看具体是什么。 当然这个也是有可能出错的,比如你的文件是gb18030编码的,但是实际上只有一两个字符是中文,那么有可能他们正好也能被utf-8解码,那么这个文件就会被误认为是utf-8的导致错误解码。  至于enc,其作用基本只是显示。不管最后的文件是什么编码的,vim都会将其转换为当前系统编码来进行处理,这样才能在当前系统里面正确地显示出 来,因此enc就是干这个的。在windows下面,enc默认是cp936,这也就是中文windows的默认编码,所以enc是不需要改的。在 linux下,随着你的系统locale可能设为zh_CN.gb18030或者zh_CN.utf-8,你的enc要对应的设为gb18030或者 utf-8(或者gbk之类的)。 最后再来说一下新建空文件的默认编码。看文档好像说会采用fencs里面的第一个编码作为新建文件的默认编码。但是这里有一个问题,就是fencs 的顺序跟解码成功率有很大关系,根据我的经验utf-8在前比gb18030在前成功率要高一些,那么如果我新建文件默认想让它是gb18030编码怎么 办?一个方法是每次新建文件后都:set fenc=gb18030一下,不过我发现在vimrc里面设置fenc=gb18030也能达到这个效果。 set enc=utf-8 " 设置文件编码 set fenc=utf-8 " 设置文件编码检测类型及支持格式 set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 " 指定菜单语言 set langmenu=zh_CN.UTF-8 set termencoding=utf-8     vim中编辑不同编码的文件时需要注意的一些地方此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。 vim编码方面的基础知识: 1,存在3个变量: encoding—-该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把 ‘encoding’ 选项当作是对 Vim 内部运行机制的设定。 fileencoding—-该选项是vim写入文件时采用的编码类型。 termencoding—-该选项代表输出到客户终端(Term)采用的编码类型。 2,此3个变量的默认值: encoding—-与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。 fileencoding—-vim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。 termencoding—-默认空值,也就是输出到终端不进行编码转换。 由此可见,编辑不同编码文件需要注意的地方不仅仅是这3个变量,还有系统当前locale和、文件本身编码以及自动编码识别、客户运行vim的终端所使用的编码类型3个关键点,这3个关键点影响着3个变量的设定。 如果有人问:为什么我用vim打开中文文档的时候出现乱码? 答案是不确定的,原因上面已经讲了,不搞清楚这3个关键点和这3个变量的设定值,出现乱码是正常的,倒是不出现乱码那反倒是凑巧的。 再来看一下常见情况下这三个关键点的值以及在这种情况下这3个变量的值: 1,locale—-目前大部分Linux系统已经将utf-8作为默认locale了,不过也有可能不是,例如有些系统使用中文localezh_CN.GB18030。在locale为utf-8的情况下,启动vim后encoding将会设置为utf-8,这是兼容性最好的方式,因为内部处理使用utf-8的话,无论外部存储编码为何都可以进行无缺损转换。locale决定了vim内部处理数据的编码,也就是encoding。 2,文件的编码以及自动编码识别—-这方面牵扯到各种编码的规则,就不一一细讲了。但需要明白的是,文件编码类型并不是保存在文件内的,也就是说没有任何描述性的字段来记录文档是何种编码类型的。因此我们在编辑文档的时候,要么必须知道这文档保存时是以什么编码保存的,要么通过另外的一些手段来断定编码类型,这另外的手段,就是通过某些编码的码表特征来断定,例如每个字符占用的字节数,每个字符的ascii值是否都大于某个字段来断定这个文件属于何种编码。这种方式vim也使用了,这就是vim的自动编码识别机制了。但这种机制由于编码各式各样,不可能每种编码都有显著的特征来辨别,所以是不可能100%准确的。对于我们GB2312编码,由于其中文是使用了2个acsii值高于127的字符组成汉字字符的,因此不可能把gb2312编码的文件与latin1编码区分开来,因此自动识别编码的机制对于gb2312是不成功的,它只会将文件辨识为latin1编码。此问题同样出现在gbk,big5上等。因此我们在编辑此类文档时,需要手工设定encoding和fileencoding。如果文档编码为utf-8时,一般vim都能自动识别正确的编码。 3,客户运行vim的终端所使用的编码类型—-同第二条一样,这也是一个比较难以断定的关键点。第二个关键点决定着从文件读取内容和写入内容到文件时使用的编码,而此关键点则决定vim输出内容到终端时使用的编码,如果此编码类型和终端认为它收到的数据的编码类型不同,则又会产生乱码问题。在linux本地X环境下,一般终端都认为其接收的数据的编码类型和系统locale类型相符,因此不需关心此方面是否存在问题。但如果牵涉到远程终端,例如ssh登录服务器,则问题就有可能出现了。例如从1台locale为GB2310的系统(称作客户机)ssh到locale为utf-8的系统(称作服务器)并开启vim编辑文档,在不加任何改动的情况下,服务器返回的数据为utf-8的,但客户机认为服务器返回的数据是gb2312的,按照gb2312来解释数据,则肯定就是乱码了,这时就需要设置termencoding为gb2312来解决这个问题。此问题更多出现在我们的windowsdesktop机远程ssh登录服务器的情况下,这里牵扯到不同系统的编码转换问题。所以又与windows本身以及ssh客户端有很大相关性。在windows下存在两种编码类型的软件,一种是本身就为unicode编码方式编写的软件,一种是ansi软件,也就是程序处理数据直接采用字节流,不关心编码。前一种程序可以在任何语言的windows上正确显示多国语言,而后一种则编写在何种语言的系统上则只能在何种语言的系统上显示正确的文字。对于这两种类型的程序,我们需要区别对待。以ssh客户端为例,我们使用的putty是unicode软件,而secure CRT则是ansi软件。对于前者,我们要正确处理中文,只要保证vim输出到终端的编码为utf-8即可,就是termencoding=utf-8。但对于后者,一方面我们要确认我们的windows系统默认代码页为cp936(中文windows默认值),另一方面要确认vim设置的termencoding=cp936。 最后来看看处理中文文档最典型的几种情况和设置方式: 1,系统locale是utf-8(很多linux系统默认的locale形式),编辑的文档是GB2312或GBK形式的(Windows记事本默认保存形式,大部分编辑器也默认保存为这个形式,所以最常见),终端类型utf-8(也就是假定客户端是putty类的unicode软件) 则vim打开文档后,encoding=utf-8(locale决定的),fileencoding=latin1(自动编码判断机制不准导致的),termencoding=空(默认无需转换term编码),显示文件为乱码。 解决方案1:首先要修正fileencoding为cp936或者euc-cn(二者一样的,只不过叫法不同),注意修正的方法不是:setfileencoding=cp936,这只是将文件保存为cp936,正确的方法是重新以cp936的编码方式加载文件为:edit++enc=cp936,可以简写为:e ++enc=cp936。 解决方案2:临时改变vim运行的locale环境,方法是以LANG=zh_CN vimabc.txt的方式来启动vim,则此时encoding=euc-cn(locale决定的),fileencoding=空(此locale下文件编码自动判别功能不启用,所以fileencoding为文件本身编码方式不变,也就是euc-cn),termencoding=空(默认值,为空则等于encoding)此时还是乱码的,因为我们的ssh终端认为接受的数据为utf-8,但vim发送数据为euc-cn,所以还是不对。此时再用命令:set termencoding=utf-8将终端数据输出为utf-8,则显示正常。 2,情况与1基本相同,只是使用的ssh软件为secure CRT类ansi类软件。 vim打开文档后,encoding=utf-8(locale决定的),fileencoding=latin1(自动编码判断机制不准导致的),termencoding=空(默认无需转换term编码),显示文件为乱码。 解决方案1:首先要保证运行secure CRT的windows机器的默认代码页为CP936,这一点中文windows已经是默认设置了。其他的与上面方案1相同,只是要增加一步,:set termencoding=cp936 解决方案2:与上面方案2类似,不过最后一步修改termencoding省略即可,在此情况下需要的修改最少,只要以locale为zh_CN开启vim,则encoding=euc-cn,fileencoding和termencoding都为空即为encoding的值,是最理想的一种情况。
  • 热度 16
    2012-3-29 23:31
    1600 次阅读|
    0 个评论
    Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html   0.准备软件及插件。  (a)gvim72.exe地址 ftp://ftp.vim.org/pub/vim/pc/gvim72.exe 。  (b)vimcdoc-1.7.0-setup.exe地 http://prdownloads.sourceforge.net/vimcdoc/vimcdoc-1.7.0-setup.exe?download  (c) ec57w32.zip 地址 http://prdownloads.sourceforge.net/ctags/ec57w32.zip (d) taglist_45.zip 地址 http://www.vim.org/scripts/download_script.php?src_id=7701 (e) winmanager.zip 地址 http://www.vim.org/scripts/download_script.php?src_id=754 (f) minibufexpl.vim 地址 http://www.vim.org/scripts/download_script.php?src_id=3640 (g) a.vim 地址 http://www.vim.org/scripts/download_script.php?src_id=7218 (h) grep.vim 地址 http://www.vim.org/scripts/download_script.php?src_id=7645 (i) visualmark.vim 地址 http://www.vim.org/scripts/download_script.php?src_id=4700 1.安装gvim7.2。 运行 gvim72.exe ,选择完全安装(Full),我的安装目录是默认的 C:\Program Files\Vim 。 安装完成后,包括了文件夹vim72和文件夹vimfiles,以及脚本_vimrc。 2.安装中文帮助手册。 运行 vimcdoc-1.7.0-setup.exe ,它会自动找到gvim的安装位置。 安装完毕后重新打开gvim, :help 时帮助手册已经是中文的了。 进行到这一步时,我的gvim菜单处的中文出现了乱码。 在网上寻找解决方案,将 C:\Program Files\Vim\vim72 下名为 lang 的文件夹删去,使菜单语言变为英语。 3.语法高亮。 首先,编辑_vimrc文件加入以下内容: set nu! colorscheme desert syntax enable syntax on 这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。 我们还可以让函数名也高亮起来,在 C:\Program Files\Vim\vim72\syntax 下找到 c.vim 和 cpp.vim ,分别添加以下内容: syn match cFunction "\ *\ *)("me=e-2 syn match cFunction "\ *\\s*("me=e-1 hi cFunction gui=NONE guifg=#B5A1FF   4.程序中跳转。 将 ec57w32.zip 解压,在解压后文件夹中找到 ctags.exe ,将其复制到 C:\ProgramFiles\Vim\vim72 下,并编辑_vimrc文件,添加以下内容: set tags=tags; set autochdir 打开cmd命令行(注意,这里是指在gvim中打开命令行,即!cmd),切换到你要查看的源代码的根目录处(比如,我要处理的文件在F:\codes\VS2008\Projects\OpenGL\OpenGL下),运行 ctags -R 将会在此目录处生成一个tags文件。 用gvim打开一个代码文件,将光标放到某一函数名上,如下图的UpdateViewByPosNo(),按下"ctrl+]",光标会自动跳转到定义处。 5.窗口管理。 将 taglist_45.zip 解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到 C:\Program Files\Vim\vim72 下的doc及plugin中。 在_vimrc文件中加入以下内容: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 用gvim打开代码文件(已生成过tags文件), :Tlist ,TagList窗口即出现在左侧。 用相同的方法将 winmanager.zip 解压和拷贝,在_vimrc文件中加入以下内容: let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMTogglecr 用gvim打开代码文件,normal状态下输入命令" wm ",窗口如下 6.多文件编辑。 将 minibufexpl.vim 复制到 C:\Program Files\Vim\vim72\plugin ,在_vimrc中添加: let g:miniBufExplMapCTabSwitchBufs=1 let g:miniBufExplMapWindowsNavVim=1 let g:miniBufExplMapWindowNavArrows=1 当用gvim打开两个或两个以上的文件时,会自动弹出MiniBufExplorer窗口,如下图 ctrl+Tab,切换到前一个buffer,并在当前窗口打开文件; ctrl+shift+Tab,切换到后一个buffer,并在当前窗口打开文件; ctrl+箭头键,可以切换到上下左右窗口中; ctrl+h,j,k,l,切换到上下左右的窗口中。    7.快速切换头文件/源文件。 将 a.vim 复制到 C:\Program Files\Vim\vim72\plugin ,在_vimrc中添加: nnoremap silent F12 :ACR 用gvim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。 8.在工程中快速查找。 将 grep.vim 复制到 C:\Program Files\Vim\vim72\plugin ,在_vimrc中添加: nnoremap silent F3 :GrepCR 用gvim打开源码文件,并将光标定位到要查找的内容上,按下F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果。如下图 确定查找内容时,支持正则表达式。 9.高亮的书签。 将 visualmark.vim 复制到 C:\Program Files\Vim\vim72\plugin 。 用gvim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。 使用F2在书签之间正向切换,shift+F2反向切换。 10.解决中文乱码。 set encoding=utf-8 set termencoding=utf-8 set fileencodings=utf-8,chinese,latin-1 if has("win32")  set fileencoding=chinese else  set fileencoding=utf-8 endif language messages zh_CN.utf-8
相关资源
  • 所需E币: 0
    时间: 2023-11-10 16:41
    大小: 1013KB
    上传者: Argent
    第14讲vim编辑器
  • 所需E币: 1
    时间: 2023-7-10 15:11
    大小: 614.95KB
    上传者: 张红川
    vim配置文件.rar
  • 所需E币: 1
    时间: 2023-3-28 11:11
    大小: 26.48MB
    学习Vi和Vim编辑器
  • 所需E币: 1
    时间: 2021-4-26 00:26
    大小: 7.31MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 2
    时间: 2020-11-12 08:53
    大小: 11.38MB
    上传者: 陆岬
    学习VI和VIM编辑器第7版中文
  • 所需E币: 2
    时间: 2020-11-12 08:49
    大小: 14MB
    上传者: 陆岬
    学习VI和VIM编辑器第7版中文
  • 所需E币: 5
    时间: 2019-12-25 12:39
    大小: 6.85KB
    上传者: rdg1993
    高速IO板卡设计的接口问题……
  • 所需E币: 5
    时间: 2019-12-25 11:36
    大小: 210.33KB
    上传者: wsu_w_hotmail.com
    给出在VIM编辑器中实现对嵌入式软件调试功能的集成方法。首先,将VIM源码打上vimgdb补丁,使重新编译出来的VIM编辑器支持在其内部对调试器gdb的调用。然后,建立与安装适合调试嵌入式软件的gdb组件,并对vimgdb脚本进行适当的修改,使VIM可方便地在适合PC与嵌入式软件调试的gdb组件间切换。调试样例过程表明,在VIM中实现了对嵌入式软件的调试,而且,这种调试模式可行、高效。……
  • 所需E币: 4
    时间: 2019-12-25 03:03
    大小: 161.56KB
    上传者: 238112554_qq
    vim+ctags用法文件:/media/disk-3/temp/linux/linux笔记/vim+ctags用法.txt第1页共9页[/home/brimmer/src]$ctags-R"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:l用#define定义的宏l枚举型变量的值l函数的定义、原型和声明l名字空间(namespace)l类型定义(typedefs)l变量(包括定义和声明)l类(class)、结构(struct)、枚举类型(enum)和联合(union)l类、结构和联合中成员变量或函数VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:1)用命令行。在运行vim的时候加上"-t"参数,例如:[/home/brimmer/src]$vim-tfoo_bar这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。2)在vim编辑器内用":ta"命令,例如::tafoo_bar3)最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":settags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。在函数中移动光标[{转到上一……