vimrc
Vim 保存退出后自动修改文件权限
Vim 保存退出后自动修改文件权限1、复制vimrc 文件到当前用户目录cp /etc/vimrc ~/.vimrc2、根据文件后缀名修改把一下vimscript代码粘贴到~/.vimrc文件内容最后; 修改权限部分可自已修改function! ModifyFileReadonlyScript(current_file)"判断文件是否存在if filereadable(a:current_file)"修改文件权限let chmod_command = "silent !chmod a+x" . a:current_fileexecute chmod_commandendifendfunction" expand('%:p') 文件绝对路径autocmd VimLeave *.php call ModifyFileReadonlyScript(expand('%:p'))3、根据文件内容修改把一下vimscript代码粘贴到~/.vimrc文件内容最后; 修改权限部分可自已修改function! ModifyFileReadonlyScript(line, current_file)" 判断文件是否存在if filereadable(a:current_file)" 判断文件内容if a:line =~ '<?php'"修改文件权限let chmod_command = "silent !chmod a+x " . a:current_fileexecute chmod_commandendifendifendfunction" getline(1) 获取文件第一行内容expand('%:p') 文件绝对路径autocmd VimLeave * call ModifyFileReadonlyScript(getline(1), expand('%:p'))4、根据文件类型修改把一下vimscript代码粘贴到~/.vimrc文件内容最后; 修改权限部分可自已修改function! ModifyFileReadonlyScript(current_type, current_file)" 判断文件是否存在if filereadable(a:current_file)" 判断文件类型if a:current_type == 'javascript'let chmod_command = "silent !chmod a+x " . a:current_fileexecute chmod_commandendifendifendfunction" $filetype 获取文件类型expand('%:p') 文件绝对路径autocmd VimLeave * call ModifyFileReadonlyScript(&filetype, expand('%:p'))。
vim配置文件.vimrc详解
vim配置⽂件.vimrc详解"是否兼容VI,compatible为兼容,nocompatible为不完全兼容"如果设置为compatible,则tab将不会变成空格set nocompatible"设置⿏标运⾏模式为WINDOWS模式behave mswin"设置菜单语⾔set encoding=chineseset langmenu=zh_CN.UTF-8" =========" 功能函数" =========" 获取当前⽬录func GetPWD()return substitute(getcwd(), "", "", "g")endf" =====================" 多语⾔环境" 默认为 UTF-8 编码" =====================if has("multi_byte")set encoding=utf-8" English messages only"language messages zh_CN.utf-8if has('win32')language englishlet &termencoding=&encodingendifset fencs=utf-8,gbk,chinese,latin1set formatoptions+=mMset nobomb " 不使⽤ Unicode 签名if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'set ambiwidth=doubleendifelseechoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"endif" =========" 环境配置" =========" 保留历史记录set history=400" 命令⾏于状态⾏set ch=1set stl=\ [File]\ %F%m%r%h%y[%{&fileformat},%{&fileencoding}]\ %w\ \ [PWD]\ %r%{GetPWD()}%h\ %=\ [Line]\ %l,%c\ %=\ %P set ls=2 " 始终显⽰状态⾏" 制表符set tabstop=4"把tab转成空格"set expandtabset smarttabset shiftwidth=4set softtabstop=4" 状态栏显⽰⽬前所执⾏的指令set showcmd" ⾏控制set linebreakset nocompatibleset textwidth=80set wrap" ⾏号和标尺set numberset rulerset rulerformat=%15(%c%V\ %p%%%)" 控制台响铃:set noerrorbells:set novisualbell:set t_vb= "close visual bell" 插⼊模式下使⽤ <BS>、<Del> <C-W> <C-U>set backspace=indent,eol,start" 标签页set tabpagemax=20set showtabline=2" 缩进智能对齐⽅式set autoindentset smartindent" ⾃动重新读⼊set autoread"代码折叠"设置折叠模式set foldcolumn=4"光标遇到折叠,折叠就打开"set foldopen=all"移开折叠时⾃动关闭折叠"set foldclose=all"zf zo zc zd zr zm zR zM zn zi zN"依缩进折叠" manual ⼿⼯定义折叠" indent 更多的缩进表⽰更⾼级别的折叠" expr ⽤表达式来定义折叠" syntax ⽤语法⾼亮来定义折叠" diff 对没有更改的⽂本进⾏折叠" marker 对⽂中的标志折叠set foldmethod=syntax"启动时不要⾃动折叠代码set foldlevel=100"依标记折叠set foldmethod=marker"语法⾼亮syntax enablesyntax on"设置配⾊set guifont=Courier\ New:h12colorscheme desert"设定⽂件浏览器⽬录为当前⽬录set bsdir=buffer" ⾃动切换到⽂件当前⽬录set autochdir"在查找时忽略⼤⼩写set ignorecaseset incsearchset hlsearch"设置命令⾏的⾼度set cmdheight=2"显⽰匹配的括号set showmatch"增强模式中的命令⾏⾃动完成操作set wildmenu"使PHP识别EOT字符串hi link phpheredoc string"php语法折叠let php_folding = 1"允许在有未保存的修改时切换缓冲区set hidden"实现全能补全功能,需要打开⽂件类型检测"filetype plugin indent on"打开vim的⽂件类型⾃动检测功能"filetype on"保存⽂件的格式顺序set fileformats=dos,unix"置粘贴模式,这样粘贴过来的程序代码就不会错位了。
VI基本配置
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endf
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。
sp file.xxx
注意: 在打开新文件时,光标一定要处在主编辑界面中,这样才能保证标签的位置的位置合适。
关闭标签页使用:bd file.xxx
6. a.vim插件安装
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。
E.g. if you are editing foo.c and need to edit foo.h simply execute :A and
设置C/C++ 语言的具体缩进方式(以我的windows 风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
如果想在左侧显示文本的行号,可以用以下语句:
set nu
最后,如果没有下列语句,就加上吧:
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
Linux用Vim+Taglist+Ctags+GDB阅读编辑代码+php5的分析情况
let Tlist_Use_Right_Window=1
“让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间
let Tlist_File_Fold_Auto_Close=1
# 在.vimrc文件中设置taglist的显示方式
let Tlist_Show_One_File=1
使用的平台是centos5.2:
vim7.2的下载地址:ftp:///pub/vim/unix/
09/06/2008 12:00AM 7,203,291 vim-7.2.tar.bz2
taglist 的下载地址:
/scripts/script.php?script_id=273
在 if !exists('loaded_taglist')上面加入
let Tlist_Ctags_Cmd="/usr/bin/ctags"
此时Ctags和Taglist已经结合起来。
3、在相应的源码目录运行ctags -R产生相应的tags文件
4、将tags文件在vim运行时导入。可以修改~/.vimrc,以后每次启动vim将自动导入此tags文件
# wget /sourceforge\
/ctags/ctags-5.5.4.tar.gz
# tar -zxvf ctags-5.5.4.tar.gz
# wget http://svn.bitflux.ch/repos/public/misc/ctags-php5.patch
vim 中提供该类功能的插件很多,比较知名的有project、winmanager等。但笔者个人认为最好用的还是The NERD Tree这个插件。NERDTree不但可以显示完整的目录树结构,还可以将任何一个目录设置为根目录。并且提供了目录导航的书签功能,可谓非常方便。
Vim---配置实用的.vimrc文件
Vim---配置实⽤的.vimrc⽂件配置⾃⼰电脑的vim,配置⼀个根据个⼈习惯使⽤的.vimrc⽂件。
我的有以下功能等,读者可以根据⾃⼰的个⼈喜好去配置⾃⼰的vim。
1.⾃动插⼊⽂件头,新建C、C++源⽂件时⾃动插⼊表头:包括⽂件名、作者、联系⽅式、建⽴时间等。
(我个⼈是不太喜欢新建源⽂件时⾃动插⼊表头⽂件名,所以将其注释,读者可根据需求⾃⾏更改)2.按“F2”可以直接消除代码中的空⾏3.“F3”可列出当前⽬录⽂件,打开树状⽂件⽬录4.⽀持⿏标选择、⽅向键移动5.代码⾼亮,⾃动缩进,显⽰⾏号,显⽰状态⾏(我个⼈不太喜欢显⽰⾏号,显⽰状态⾏,读者可根据需求⾃⾏修改)6.按“Ctrl + P”可⾃动补全7.[]、{}、()、""、' '等都⾃动补全8.其他功能读者可以研究以下⽂件下⾯是在Linux下配置⾃⼰的vim的⽅法:⼀:1.⾸先打开linux的终端,使⽤ su root命令切换⾄root权限。
2.使⽤ls -al命令会打开当前的所有⽂件包括隐藏⽂件,如下图,找到.vimrc⽂件,如果没有这个⽂件,可以去创建⼀个.vimrc⽂件。
3.之后打开.vimrc⽂件将下⾯的代码粘贴进去,然后根据个⼈需求去修改为适合⾃⼰的.vimrc⽂件,保存退出,然后你可以⽤vim创建⼀个⽂件看⼀下效果,然后再根据个⼈需求⾃⾏修改。
这个⽅法配置的.vimrc⽂件可以由⽤户权限去⽤vim创建⽂件进⾏编辑,root权限⽤vim创建的⽂件⽆法达到你配置的效果。
⼆:如果你想要你配置的⽂件达到⽆论是⽤户权限还是root权限都可以⽤vim创建的⽂件达到你配置的⽂件的效果,可以⽤如下⽅法。
1.⾸先你转到根⽬录,在根⽬录下有个 etc 的⽂件夹,然后进到etc的⽬录下,然后列出当前的所有⽂件。
2.在当前的⽬录中的所有⽂件你会找到⼀个vimrc的⽂件,然后打开该⽂件将代码粘贴进去,然后根据个⼈需求去修改为适合⾃⼰的vimrc⽂件,保存退出,然后此时⽆论你⽤root权限还是⽤户权限⽤vim去创建⽂件都可以达到你配置的效果(提醒⼀下,如果你配置vimrc⽂件出错时,建议你在进⼊etc/⽬录下时,在修改vimrc⽂件之前可以先保存⼀份vimrc⽂件,之后再修改vimrc,防⽌你出错时还可以⽤备份的vimrc⽂件)。
vimrc语法
vimrc语法什么是vimrc?vimrc是Vim编辑器的配置文件,用于个性化设置Vim的各种功能和选项。
Vim是一款功能强大而又高度可定制的文本编辑器,通过修改vimrc文件,用户可以根据自己的喜好和需求来自定义Vim的行为。
vimrc文件的位置及命名规则vimrc文件通常位于用户的home目录下,以隐藏文件的形式存在,文件名为”.vimrc”。
在Windows系统中,文件可能会被命名为”_vimrc”。
如果想要使用全局的配置文件,也可以将vimrc文件放置在Vim的安装目录中。
vimrc文件的基本语法vimrc文件是一个文本文件,可以使用任何文本编辑器进行编辑。
该文件使用Vim 脚本语言编写,脚本中的每一行代表一个设置或命令。
下面列举了一些常用的vimrc语法:1.设置选项:可以使用set命令来设置Vim的选项。
例如:set number可以显示行号,set tabstop=4可以设置Tab键的宽度为4个空格。
2.定义快捷键:可以使用map命令来定义快捷键映射。
例如:map <F2> :w<CR>将F2键映射为保存文件的快捷键。
3.启用插件:Vim支持插件扩展,可以使用plugin命令来启用插件。
例如:plugin indentline可以启用缩进线插件。
4.设置自动命令:可以使用autocmd命令来设置自动命令。
例如:autocmdFileType python set tabstop=4可以在打开Python文件时自动设置Tab键宽度为4个空格。
vimrc文件的常用配置项vimrc文件支持众多的配置项,可以根据个人需求进行自定义设置。
下面列举了一些常用的配置项及其用法:编辑相关配置•set tabstop=4:设置Tab键的宽度为4个空格。
•set shiftwidth=4:设置缩进时的宽度为4个空格。
•set expandtab:将Tab键转换为空格。
•set autoindent:启用自动缩进。
vimrc 编码格式
vimrc 编码格式
Vim 的配置文件`.vimrc` 是一个文本文件,因此它的编码格式通常是普通的文本编码格式。
Vim 本身并不强制要求特定的编码,它会尽量以普通的文本文件处理。
大多数情况下,你可以使用UTF-8 编码来保存`.vimrc` 文件,这是一种广泛支持的文本编码格式,能够处理各种字符,同时也是Vim默认的内部字符编码。
如果你的`.vimrc` 文件只包含英文字符和基本的ASCII字符,使用UTF-8 是完全没问题的。
如果你使用的是非英文字符,确保使用UTF-8 或适合你语言的编码格式。
你可以使用文本编辑器(如Vim本身、VSCode、Notepad++等)来创建和编辑`.vimrc` 文件,这些编辑器通常能够识别并正确处理UTF-8 编码。
确保在编辑器中选择保存时使用UTF-8 编码。
总之,对于`.vimrc` 文件,UTF-8 是一个通用的选择,适用于各种场景。
vim配置显示行号和语法高亮即.vimrc文件的配置
vim配置显⽰⾏号和语法⾼亮即.vimrc⽂件的配置在终端下使⽤vim进⾏编辑时,默认情况下,编辑的界⾯上是没有显⽰⾏号、语法⾼亮度显⽰、智能缩进等功能的。
为了更好的在vim下进⾏⼯作,需要⼿动设置⼀个配置⽂件:.vimrc。
在启动vim时,当前⽤户根⽬录下的.vimrc⽂件会被⾃动读取,该⽂件可以包含⼀些设置甚⾄脚本,所以,⼀般情况下把.vimrc ⽂件创建在当前⽤户的根⽬录下⽐较⽅便,即创建的命令为:$vi ~/.vimrc设置完后$:x 或者 $wq进⾏保存退出即可。
下⾯给出⼀个例⼦,其中列出了经常⽤到的设置,详细的设置信息请参照参考资料:“双引号开始的⾏为注释⾏,下同“去掉讨厌的有关vi⼀致性模式,避免以前版本的⼀些bug和局限set nocompatible“显⽰⾏号set nummber“检测⽂件的类型filetype on“记录历史的⾏数set history=1000“背景使⽤⿊⾊set background=dark“语法⾼亮度显⽰syntax on“下⾯两⾏在进⾏编写代码时,在格式对起上很有⽤;“第⼀⾏,vim使⽤⾃动对起,也就是把当前⾏的对起格式应⽤到下⼀⾏;“第⼆⾏,依据上⾯的对起格式,智能的选择对起⽅式,对于类似C语⾔编“写上很有⽤set autoindentset smartindent“第⼀⾏设置tab键为4个空格,第⼆⾏设置当⾏之间交错时使⽤4个空格set tabstop=4set shiftwidth=4“设置匹配模式,类似当输⼊⼀个左括号时会匹配相应的那个右括号set showmatch“去除vim的GUI版本中的toolbarset guioptions-=T“当vim进⾏编辑时,如果命令错误,会发出⼀个响声,该设置去掉响声set vb t_vb=“在编辑过程中,在右下⾓显⽰光标位置的状态⾏set ruler“默认情况下,寻找匹配是⾼亮度显⽰的,该设置关闭⾼亮显⽰set nohls“查询时⾮常⽅便,如要查找book单词,当输⼊到/b时,会⾃动找到第⼀“个b开头的单词,当输⼊到/bo时,会⾃动找到第⼀个bo开头的单词,依“次类推,进⾏查找时,使⽤此设置会快速找到答案,当你找要匹配的单词“时,别忘记回车set incsearch“修改⼀个⽂件后,⾃动进⾏备份,备份的⽂件名为原⽂件名加“~“后缀if has(“vms”)set nobackupelseset backupendif如果去除注释后,⼀个完整的.vimrc配置信息如下所⽰:复制代码代码如下:set nocompatibleset nummberfiletype onset history=1000set background=darksyntax onset autoindentset smartindentset tabstop=4set shiftwidth=4set showmatchset guioptions-=Tset vb t_vb=set rulerset nohlsset incsearchif has(“vms”)set nobackupelseset backupendif如果设置完后,发现功能没有起作⽤,检查⼀下系统下是否安装了vim-enhanced包,查询命令为:$rpm –q vim-enhanced参考资料:1.vim的完全翻译版在下⾯连接处可以找到可以下栽其中的⼀个PDF版本,⾥⾯介绍的很详细,强烈推荐:)2.更详细的vim信息可以访问:3.⼀个带有英⽂注释的.vimrc例⼦关于vi颜⾊的问题,上⽹找了若⼲篇⽂章才搞定,⾃⼰⼩结⼀下。
GVIM_vimrc配置
"设定windows 下gvim启动时最大化"autocmdGUIEnter * simalt ~x"使用配色方案colors torte"设置不自动换行setnowrap"设置右下角标尺set ruler"设定光标离窗口上下边界5 行时窗口自动滚动"setscrolloff=5"默认区分大小写"setnoignorecase"去除工具栏setguioptions-=T"去除菜单栏setguioptions-=m"去除右边滚动条setguioptions-=r"设置冒号命令和搜索命令的命令历史列表的长度set history=1000"设定在任何模式下鼠标都可用set mouse=a"用确认对话框(对于gvim)或命令行选项(对于vim)来代替有未保存内容时的警告信息"set confirm"设置用于GUI图形用户界面的字体列表。
"setguifont=SimSun\ 10"设置不兼容VI模式,在增强模式下运行setnocompatible"设置GVIM默认目录lcd d:/wwwroot"设定文件浏览器目录为当前目录"自动切换目录setautochdir"不设定此项的话在插入状态无法用退格键和Delete 键删除回车符set backspace=indent,eol,start"覆盖文件时不备份"setnobackup"设置备份时的行为为覆盖setbackupcopy=yes"长行不能完全显示时显示当前屏幕能显示的部分。
默认值为空,长行不能完全显示时显示@。
"set display=lastline"设置字符编码set encoding=utf-8"文件编码集” fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将fileencoding设置为最终探测到的字符编码方式。
VIM命令大全
set nu
#行号
set ai
#设置自动缩进
syntax on #高亮
syntax off #关闭语法功能
Ctrl+o:临时变成命令模式(一次而已)
ctrl +n 自动补全 ctrl + p 也一样
启动 vim
在命令行窗口中输入以下命令即可 vim 直接启动 vim vim filename 打开 vim 并创建名为 filename 的文件
Vim 中自动补全括号,引号设置
vim ~/.vimrc 进入配置文件 在空白文件中加入下面语句保存,退出即可 inoremap ( ()<Esc>i inoremap [ []<Esc>i inoremap { {<CR>}<Esc>O autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR> inoremap ) <c-r>=ClosePair(')')<CR> inoremap ] <c-r>=ClosePair(']')<CR> inoremap } <c-r>=CloseBracket()<CR> inoremap " <c-r>=QuoteDelim('"')<CR>
s/old/new/ 用 old 替换 new,替换当前行的第一个匹配
s/old/new/g 用 old 替换 new,替换当前行的所有匹配
vimrc语法
vimrc语法⼯欲善其事,必先利其器。
⼀个programmer必然要先有⼀个好的editor。
vim就是⼀个⼗分强⼤的编辑器。
它的强⼤之处,在于其个性化和可定制。
学习vim,就像学习Linux,学习perl,你发现你可以让它来适应⾃⼰,你发现你只需要学⼀点点就可以⼯作了;⽽当你继续学习下去,你会惊奇的发现它的“新”功能能够极⼤的提⾼你的⼯作效率;就是这样,你学习的兴趣将始终超过学习的难度,因此促使你⼀直钻研下去……另外⼀点,你总是可以找到vim,⾄少是vi,可是你可能不会在你的公司的Sun机器上找到记事本,也可能不会在AIX上找到emacs ——除⾮你是root,你可以⾃⼰装⼀个:)我⽆意把vim和其他编辑器⽐较,我只知道Larry Wall⽤vim。
⾔归正传,个性化vim最基本也是最重要的就是编写vimrc⽂件(不要说你不知道vimrc在哪⾥,它就在你的home⽬录下,名字叫做.vimrc)。
1. 注释写程序之前,第⼀件事情不是了解语法,⽽是知道如何写注释。
vimrc脚本的注释是使⽤引号(")作⾏注释。
2. 变量(1) 标量变量可以是数字或字符串,基本与perl相同。
命名⽅式为:作⽤域:变量名,常⽤的有如下⼏种:b:name —— 只对当前buffer有效的变量w:name —— 只对当前窗⼝有效的变量g:name —— 全局变量v:name —— vim预定义变量a:name —— 函数的参变量注意:引⽤标量变量的时候请包含作⽤域和冒号(2) ⼀类有特殊含义的变量命名⽅式:Fun Character(这个词请参看Programming Perl)加上变量名共有三类:$NAME —— 环境变量(⼀般变量名都是⼤写)&name —— 选项(vim处理某些事情的时候的默认设置)@r —— register(寄存器,不是汇编的EAX,EBX,看第2部分vim tips)常见环境变量例⼦:$VIMRUNTIME —— vim运⾏路径常见选项例⼦:&ic —— ignorecase注:使⽤set命令可以改变选项设置,例如::set ignorecase使⽤⼀个set命令可以看到当前所有的选项及其设置。
vimrc语法
vimrc语法
vimrc语法是指在Vim编辑器中设置配置文件vimrc的语法规则。
vimrc文件是Vim的配置文件,它可以用来配置Vim编辑器的行为和外观。
在vimrc文件中,我们可以设置键盘映射、颜色方案、插件、缩进等等。
以下是vimrc语法的一些常用规则:
1. 注释:在vimrc文件中,注释以双引号(')或单引号(')开头,可以在行尾或行中添加注释。
2. 设置选项:在vimrc文件中,我们可以使用set命令来设置选项。
例如:set number表示显示行号,set tabstop=4表示将tab 键转换为4个空格。
3. 定义快捷键:在vimrc文件中,我们可以使用map命令来定义快捷键。
例如:map <leader>f :find<space>表示将leader键(默认是)和f键绑定为查找命令。
4. 颜色方案:在vimrc文件中,我们可以使用colorscheme命令来设置颜色方案。
例如:colorscheme desert表示使用desert颜色方案。
5. 插件管理:在vimrc文件中,我们可以使用插件管理工具如Vundle、Pathogen等来管理插件。
例如:使用Vundle管理插件,我们需要在vimrc文件中添加类似于Plugin 'VundleVim/Vundle.vim'的语句。
以上是vimrc语法的一些常用规则,通过学习和掌握这些规则,我们可以更好地配置Vim编辑器,提高我们的编辑效率。
Vim的编码详解和中文环境设置
Vim的编码详解和中文环境设置很惭愧,作为vim的忠实用户,自从2年多前从help里知道了:edit++enc=xxx这个命令之后,我就没有去了解过vim的编码设定了。
这些年来,我遇到编码出错,总是:edit++enc=xxx。
今天:help了一下encoding等,终于搞清楚了相关的各个变量的作用和关系。
简单的说,有三个设置。
(我下面基本以中文环境来作为说明)1) 在.vimrc或者_vimrc里加入setfileencodings=utf-8,gb2312,gbk,gb18030,big5这句就基本OK了。
vim会依次使用这些编码对文件进行编码的猜测。
2) 如果还是不行,那么在打开文件之后,用:edit++enc=gbk这个命令强制使用某个编码。
3) 如果依然不行,请检查你的$LANG环境变量。
下面是详细的说明。
vim编码主要涉及三个变量。
encodingvim的内部编码,包括内存数据的编码,vim配置文件的编码。
encoding取自变量$LANG,如果$LANG为空,则取latin1。
这个编码应该和你的终端编码保持一致的。
fileencoding文件的编码。
vim在加载文件的时候,会把这个编码转换成encoding参数的编码。
同样的,保存文件的时候,内存的编码会由encoding转变为fileencoding。
需要注意的是,在vimrc里设置这个参数,不会起作用。
因为打开一个文件的时候,fileencodings或者encoding会覆盖fileencoding。
关于这个,可以看下面提到的打开文件流程。
fileencodings=utf-8,gbk,gb2312vim在加载一个文件的时候,会依次尝试使用fileencodings里的编码作为fileencoding。
如果全部失败,那么vim会使用encoding作为fileencoding。
另外,如果vim使用了错误的编码,可以使用edit++enc=gbk这个命令。
vimrc
source $VIMRUNTIME/delmenu.vim "导入删除菜单脚本,删除乱码的菜单
source $VIMRUNTIME/menu.vim "导入正常的菜单脚本
language messages zh_CN.utf-8 "设置提示信息语言
" Tag list (ctags)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"if MySys() == "windows" "设定windows系统中ctags程序的位置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
_vimrc,VIM配置文件带注释
if g:islinux
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
else
set rtp+=$VIM/vimfiles/bundle/vundle/
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
" << 以下为用户自定义配置 >>
" =============================================================================
" -----------------------------------------------------------------------------
let g:iswindows = 0
let g:islinux = 0
if(has("win32") || has("win64") || has("win95") || has("win16"))
let g:iswindows = 1
else
let g:islinux = 1
" < Windows Gvim 默认配置> 做了一点修改
VIM-宏-在vimrc中定义宏
VIM-宏-在vimrc中定义宏1. 概述1. VIM 宏的存储2. 背景1. 之前学过⼀点宏1. 查看2. 录制3. 导出2. 问题: 编辑这块并不是很好1. 操作打不出来1. 插⼊模式下的 CTRL + A2. EX 命令⾏下的 CTRL + A2. CTRL 类的快捷键如果打不出来, 会很尴尬...1. ALT 类的快捷键, 我现在还没⽤上3. 环境1. OS1. win102. shell1. mintty-2.9.41. 输⼊ CTRL 组合1. 概述1. 输⼊ CTRL2. 问题1. ⽆法输⼊ CTRL1. 插⼊模式2. EX 命令⾏2. 这样的化, 宏会很难编辑1. 插⼊模式1. 依次输⼊CTRL + VCTRL + A2. 结果1. 输⼊成功3. 问题1. CTRL + I 没法⽤这种⽅法打出来2. ⽬前的处理办法, 是打印等效数量的空格2. EX 命令⾏1. 同插⼊模式3. 后续1. ⽅便编辑宏1. ⾃定义2. 通过 vimrc 批量导⼊2. vimrc 导⼊宏1. 概述1. 在 vimrc ⽂件⾥添加宏定义2. 准备1. vimrc1. 路径/etc/vimrc3. 操作1. 打开 vimrc2. 在⽂件末尾插⼊内容# 建议⽤ ' 来包括字符串# 这⾥将宏y 设置为加1之后换⾏# ctrl + A 和 ^A 在 vim ⾥不同, 前者显⽰为蓝⾊的 ^A, 并且作为宏可以执⾏, 后者是⽩⾊, 没法执⾏, 注意区分let @y='^Aj'3. 保存并退出4. 重新打开⼀个新 vim4. 结果1. 查看宏# 和我们定义的⼀致reg y2. 有了这些, 就能在不同的地⽅, 做宏的批量导⼊和导出, 很是⽅便ps1. ref1.1. 真是万万没想到, 这种问题居然会在百度知道⾥找到答案...1. 我也是醉了...2. 后续1. 熟悉 reg2. 熟悉 map 相关命令。
sles12 vimrc 变量赋值
sles12 vimrc 变量赋值
SQL Server 中变量赋值的方式有两种,分别
是SET 和SELECT。
两种赋值方式的区别如下:
针对以上三种情况的区别,请看下面实例:
同时对多个变量赋值
(1)使用set同时对两个变量赋值
可以看到语法错误,所有set不能同时对多个变量赋值.
(2)使用select同时对两个变量赋值
可以看到语法没有问题,打印的结果也是正确的.
表达式返回多个值时
(1)表达式返回多个值时,使用set 赋值
首先看一下表里的数据
然后将查询结果使用set赋值给变量
可以看到语法有误,不能赋值.
(2)表达式返回多个值时,使用select 赋值
通过打印的结果,可以看到变量的值是结果集中最后一个值.
表达式无返回值
(1)表达式无返回值时,使用set 赋值
首先看一下结果集中返回的值
结果集中无返回值,使用set对变量赋值:
表达式无返回值时,set将空值赋值给变量.
(2)表达式无返回值时,使用select 赋值
表达式无返回值时,变量的原值保持不变.
还有一种特殊情况:
SELECT 也可以将标量子查询的值赋给变量,如果标量子查询不返回值,则变量被置为null 值。
此时与使用SET 赋值是完全相同的,实例:
select addr from chinadba1 where userid = 4 为标量子查询语句
可以看到这种写法,赋值的结果和set一样,都是null.
以上就是sql server中两种不同赋值方式之间的差异.。
vim配色方案
vim配色方案在日常工作中,我们经常使用一些终端编辑器来完成代码编写和修改文本的工作。
vim是一款强大的终端编辑器,可以帮助我们提高效率。
而在使用vim时,配色方案也是非常重要的。
好的配色方案可以帮助我们更好地分辨不同类型的代码或者文本,在枯燥的代码工作中也能让我们眼前一亮。
本文介绍几种常见的vim 配色方案,并分享如何自定义vim配色方案。
一、gruvboxgruvbox是一款十分流行的vim配色方案,它非常适合长时间工作。
它的颜色组合非常柔和,而且在黑暗环境下也非常舒适。
gruvbox背景主要是棕色,用黑色、绿色、黄色等组合成亮色和暗色,不仅美观,而且非常适合长时间的工作。
二、jellybeansjellybeans是一款非常独特的vim配色方案,它使用了各种鲜艳的颜色,给人一种非常跳跃的感觉,适合代码中使用。
默认的背景是黑色,但是可以通过更改.vimrc配置文件来进行定制。
三、molokaimolokai是另一种非常流行的vim配色方案,也被称为黑暗界面。
它的背景是深灰色的,配有各种颜色的高亮,给人一种重要性强,而激情横溢的感觉,适合高亮显示特殊代码。
molokai的色彩饱和度非常高,所以在配合过长的时间后视觉疲劳。
四、自定义如果以上的vim配色方案无法满足您的需求,那么您可以选择自定义一个您喜欢的vim配色方案。
自定义vim配色方案的方法非常简单,只需要在.vimrc配置文件中加入如下内容:syntax oncolorscheme mycolors将mycolors替换为您的配色方案的名称即可。
如果您需要更多配色方案的资源,可以通过网上查找或者GitHub上的源代码来寻找。
五、总结vim是一款强大的终端编辑器,可以帮助我们提高工作效率。
而好的vim配色方案可以帮助我们更好地分辨不同的代码类型或者文本,适应不同的工作需求。
本文介绍了几种常见的vim配色方案,并分享了自定义vim配色方案的方法。
很好很强大的vimrc(带注释版)
很好很强⼤的vimrc(带注释版)"=========================================================================" DesCRiption: 适合⾃⼰使⽤的vimrc⽂件,for Linux/Windows, GUI/Console"" Last Change: 2010年08⽉02⽇ 15时13分"" Version: 1.80""=========================================================================set nocompatible " 关闭 vi 兼容模式syntax on " ⾃动语法⾼亮colorscheme molokai " 设定配⾊⽅案set number " 显⽰⾏号set cursorline " 突出显⽰当前⾏set ruler " 打开状态栏标尺set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4set softtabstop=4 " 使得按退格键时可以⼀次删掉 4 个空格set tabstop=4 " 设定 tab 长度为 4set nobackup " 覆盖⽂件时不备份set autochdir " ⾃动切换当前⽬录为当前⽂件所在的⽬录filetype plugin indent on " 开启插件set backupcopy=yes " 设置备份时的⾏为为覆盖set ignorecase smartcase " 搜索时忽略⼤⼩写,但在有⼀个或以上⼤写字母时仍保持对⼤⼩写敏感set nowrapscan " 禁⽌在搜索到⽂件两端时重新搜索set incsearch " 输⼊搜索内容时就显⽰搜索结果set hlsearch " 搜索时⾼亮显⽰被找到的⽂本set noerrorbells " 关闭错误信息响铃set novisualbell " 关闭使⽤可视响铃代替呼叫set t_vb= " 置空错误铃声的终端代码" set showmatch " 插⼊括号时,短暂地跳转到匹配的对应括号" set matchtime=2 " 短暂跳转到匹配括号的时间set magic " 设置魔术set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存set guioptions-=T " 隐藏⼯具栏set guioptions-=m " 隐藏菜单栏set smartindent " 开启新⾏时使⽤智能⾃动缩进set backspace=indent,eol,start" 不设定在插⼊状态⽆法⽤退格键和 Delete 键删除回车符set cmdheight=1 " 设定命令⾏的⾏数为 1set laststatus=2 " 显⽰状态栏 (默认值为 1, ⽆法显⽰状态栏)set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 设置在状态⾏显⽰的信息set foldenable " 开始折叠set foldmethod=syntax " 设置语法折叠set foldcolumn=0 " 设置折叠区域的宽度setlocal foldlevel=1 " 设置折叠层数为" set foldclose=all " 设置为⾃动关闭折叠" nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>" ⽤空格键来开关折叠" return OS type, eg: windows, or linux, mac, et.st..function! MySys()if has("win16") || has("win32") || has("win64") || has("win95")return "windows"elseif has("unix")return "linux"endifendfunction" ⽤户⽬录变量$VIMFILESif MySys() == "windows"let $VIMFILES = $VIM.'/vimfiles'elseif MySys() == "linux"let $VIMFILES = $HOME.'/.vim'endif" 设定doc⽂档⽬录let helptags=$VIMFILES.'/doc'" 设置字体以及中⽂⽀持if has("win32")set guifont=Inconsolata:h12:cANSIendif" 配置多语⾔环境if has("multi_byte")" UTF-8 编码set encoding=utf-8set termencoding=utf-8set formatoptions+=mMset fencs=utf-8,gbkif v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'set ambiwidth=doubleendifif has("win32")source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vimlanguage messages zh_CN.utf-8endifelseechoerr "Sorry, this version of (g)vim was not compiled with +multi_byte" endif" Buffers操作快捷⽅式!nnoremap <C-RETURN> :bnext<CR>nnoremap <C-S-RETURN> :bprevious<CR>" Tab操作快捷⽅式!nnoremap <C-TAB> :tabnext<CR>nnoremap <C-S-TAB> :tabprev<CR>"关于tab的快捷键" map tn :tabnext<cr>" map tp :tabprevious<cr>" map td :tabnew .<cr>" map te :tabedit" map tc :tabclose<cr>"窗⼝分割时,进⾏切换的按键热键需要连接两次,⽐如从下⽅窗⼝移动"光标到上⽅窗⼝,需要<c-w><c-w>k,⾮常⿇烦,现在重映射为<c-k>,切换的"时候会变得⾮常⽅便.nnoremap <C-h> <C-w>hnnoremap <C-j> <C-w>jnnoremap <C-k> <C-w>knnoremap <C-l> <C-w>l"⼀些不错的映射转换语法(如果在⼀个⽂件中混合了不同语⾔时有⽤)nnoremap <leader>1 :set filetype=xhtml<CR>nnoremap <leader>2 :set filetype=css<CR>nnoremap <leader>3 :set filetype=javascript<CR>nnoremap <leader>4 :set filetype=php<CR>" set fileformats=unix,dos,mac" nmap <leader>fd :se fileformat=dos<CR>" nmap <leader>fu :se fileformat=unix<CR>" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result" map <C-x>l <ESC>:cl<CR>" map <C-x>n <ESC>:cn<CR>" map <C-x>p <ESC>:cp<CR>" map <C-x>c <ESC>:cc<CR>" 让 Tohtml 产⽣有 CSS 语法的 html" syntax/2html.vim,可以⽤:runtime! syntax/2html.vimlet html_use_css=1" Python ⽂件的⼀般设置,⽐如不要 tab 等autocmd FileType python set tabstop=4 shiftwidth=4 expandtab autocmd FileType python map <F12> :!python %<CR>" 选中状态下 Ctrl+c 复制vmap <C-c> "+y" 打开javascript折叠let b:javascript_fold=1" 打开javascript对dom、html和css的⽀持let javascript_enable_domhtmlcss=1" 设置字典 ~/.vim/dict/⽂件的路径autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict autocmd filetype css set dictionary=$VIMFILES/dict/css.dictautocmd filetype php set dictionary=$VIMFILES/dict/php.dict"-----------------------------------------------------------------" plugin - bufexplorer.vim Buffers切换" \be 全屏⽅式查看全部打开的⽂件列表" \bv 左右⽅式查看 \bs 上下⽅式查看"-----------------------------------------------------------------"-----------------------------------------------------------------" plugin - taglist.vim 查看函数列表,需要ctags程序" F4 打开隐藏taglist窗⼝"-----------------------------------------------------------------if MySys() == "windows" " 设定windows系统中ctags程序的位置let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'elseif MySys() == "linux" " 设定windows系统中ctags程序的位置let Tlist_Ctags_Cmd = '/usr/bin/ctags'endifnnoremap <silent><F4> :TlistToggle<CR>let Tlist_Show_One_File = 1 " 不同时显⽰多个⽂件的tag,只显⽰当前⽂件的let Tlist_Exit_OnlyWindow = 1 " 如果taglist窗⼝是最后⼀个窗⼝,则退出vim let Tlist_Use_Right_Window = 1 " 在右侧窗⼝中显⽰taglist窗⼝let Tlist_File_Fold_Auto_Close=1 " ⾃动折叠当前⾮编辑⽂件的⽅法列表let Tlist_Auto_Open = 0let Tlist_Auto_Update = 1let Tlist_Hightlight_Tag_On_BufEnter = 1let Tlist_Enable_Fold_Column = 0let Tlist_Process_File_Always = 1let Tlist_Display_Prototype = 0let Tlist_Compact_Format = 1"-----------------------------------------------------------------" plugin - mark.vim 给各种tags标记不同的颜⾊,便于观看调式的插件。
openwrt vi 编码
在OpenWrt中使用vi编辑器时,可能会遇到编码问题。
为了确保正确的编码设置,您可以按照以下步骤操作:
打开终端并连接到您的OpenWrt设备。
输入以下命令以编辑vi的配置文件:
arduino
vi ~/.vimrc
在打开的文件中,添加以下行来设置编码为UTF-8:
arduino
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf-8
set fencs=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
这些设置将确保vi在编辑文件时使用UTF-8编码,并且可以识别和处理其他常见的编码格式。
4. 保存并关闭文件。
在vi中,按下Esc键,然后输入以下命令保存并退出:
ruby
:wq
现在,您可以在OpenWrt的vi编辑器中使用UTF-8编码进行编辑和保存文件了。
请注意,这些步骤假设您已经正确安装了vi编辑器。
如果尚未安装,您可以使用OpenWrt 的包管理器进行安装。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
" set foldclose=all " 设置为自动关闭折叠
" nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" nmap <leader>fu :se fileformat=unix<CR>
" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
" map <C-x>l <ESC>:cl<CR>
" map <C-x>n <ESC>:cn<CR>
elseif has("unix")
return "linux"
endif
endfunction
" 用户目录变量$VIMFILES
if MySys() == "windows"
let $VIMFILES = $VIM.'/vimfiles'
elseif MySys() == "linux"
set ambiwidth=double
endif
if has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
let $VIMFILES = $HOME.'/.vim'
endif
" 设定doc文档目录
let helptags=$VIMFILES.'/doc'
" 设置字体 以及中文支持
if has("win32")
set guifont=Inconsolata:h12:cANSI
endif
" 配置多语言环境
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
"一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
nnoremap <leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2 :set filetype=css<CR>
" Tab操作快捷方式!
nnoremap <C-TAB> :tabnext<CR>
nnoremap <C-S-TAB> :tabprev<CR>
"关于tab的快捷键
" map tn :tabnext<cr>
" map tp :tabprevious<cr>
" map td :tabnew .<cr>
let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
elseif MySys() == "linux" " 设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
" map te :tabedit
" map tc :tabclose<cr>
"窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
"光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
"时候会变得非常方便.
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
" 设置在状态行显示的信息
"set foldenable " 开始折叠
"set foldmethod=syntax " 设置语法折叠
"set foldcolumn=0 " 设置折叠区域的宽度
if has("multi_byte")
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk
if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
let b:javascript_fold=1
" 打开javascript对dom、html和css的支持
let javascript_enable_domhtmlcss=1
" 设置字典 ~/.vim/dict/文件的路径
autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict
autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
autocmd filetype php set dictionary=$VIMFILES/dict/php.dict
"-----------------------------------------------------------------
syntax enable " 自动语法高亮
syntax on " 自动语法高亮
set cursorline " 突出显示当前行
set ruler " 打开状态栏标尺
set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
nnoremap <leader>3 :set filetype=javascript<CR>
nnoremap <leader>4 :set filetype=php<CR>
" set fileformats=unix,dos,mac
" nmap <leader>fd :se fileformat=dos<CR>
set backupcopy=yes " 设置备份时的行为为覆盖
set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nowrapscan " 禁止在搜索到文件两端时重新搜索
set incsearch " 输入搜索内容时就显示搜索结果
"set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
set tabstop=4 " 设定 tab 长度为 4
set cindent " 按C语言格式缩进
set expandtab " 扩展tab键
" plugin - taglist.vim 查看函数列表,需要ctags程序
" F4 打开隐藏taglist窗口
"-----------------------------------------------------------------
if MySys() == "windows" " 设定windows系统中ctags程序的位置
vimrc
set nocompatible " 关闭 vi 兼容模式
"colorscheme molokai " 设定配色方案
"set number " 显示行号
set background=dark " blue
" plugin - bufexplorer.vim Buffers切换
" \be 全屏方式查看全部打开的文件列表
" \bv 左右方式查看 \bs 上下方式查看
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" map <C-x>p <ESC>:cp<CR>
" map <C-x>c <ESC>:cc<CR>
" 让 Tohtml 产生有 CSS 语法的 html