vim 复制到第几行如何在每行后自动加,号

个回答对于你给出的例子,你可以用rEnterEnter来代替单个字符(空格)。然后,fspace.前进到下一个空格并重复上一个命令。根据您的autoindent设置,上面可能会或可能不会正确缩进return语句。如果不是,则sEnterTabEsc改为使用换行符替换空格,缩进行并退出插入模式。你将不得不用另一个命令替换第二个空格,所以你不能使用'。'。在这种情况下。下面是如何创建一个宏,在不处于插入模式时按下'g'时在光标处插入换行符:在vim中输入::map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]
[Ctrl + V]表示按住Ctrl键并按'v'[Enter]表示按Enter键[Esc]表示按下Esc键您将在vim窗口的底部看到以下内容,直到您按下最终的Enter::map g i^M^[
说明:[Ctrl + V]表示“引用下面的字符” - 它允许您在命令中嵌入换行符和转义字符。所以你要将'g'键映射到序列上: i [Enter] [Escape]这是在游标之前插入换行符的 vim ,然后退出插入模式。调整:您可以用任何尚未链接到您使用的命令的字符替换'g'。更添加到命令,例如 f}i^M^[O
-这将?F IND的}和我 nsert另一个新行,然后在插入模式和逃生?笔的空行,让您输入更多的代码。您可以将该命令添加到.vimrc或.exrc文件以使其永久。只需从头开始省略冒号,所以命令以“map”开始扫描二维码扫描关注云+社区如何设置vim自动显示行号?_百度知道
如何设置vim自动显示行号?
如何设置vim自动显示行号?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
在每个用户的主目录下,都有一个 vi 的配置文件&.vimrc&或&.exrc&,用户可以编辑它,使这些设置在每次启动 vi 时,都有效。例如,加入如下设置行:set nu 显示行号 set nonu 不显示行号 set ic 查找时不考虑大小写 set noic 查找时考虑大小写。更多关于vi的使用方法,刘遄老师写的《linux就该这么学》这本书,比较新,技术更实用,最好的就是适合新手入门,希望能帮到你。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。vim 每行行首或行行尾插入, 删除每行行尾的空格
已有 3725 次阅读
|个人分类:|系统分类:|关键词:vim|
每行的行首都添加一个字符串:%s/^/要插入的字符串每行的行尾都添加一个字符串:%s/$/要插入的字符串解释:% 代表针对被编辑文件的每一行进行后续操作$ 代表一行的结尾处^ 代表一行的开头处Vim 删除每行行尾的空格:% s/\s\+$//g
转载本文请联系原作者获取授权,同时请注明本文来自崔英博科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:0
推荐到博客首页
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 47, 距离下一级还需 153 积分
论坛徽章:0
本帖最后由 pyartist 于
13:33 编辑
vim在编写脚本的时候写了一行注释后,敲回车,下一行自动加上#
想去掉这个自动补全功能,该如何修改.vimrc?
白手起家, 积分 8, 距离下一级还需 192 积分
论坛徽章:0
这个.. 贴上你的 .vimrc文件
白手起家, 积分 47, 距离下一级还需 153 积分
论坛徽章:0
本帖最后由 pyartist 于
13:08 编辑
别人写的,略加修改,拿来用的,发现那个自动补齐的功能我不太习惯,想拿掉,不知道拿哪一个好
github.com/ma6174/vim/blob/master/.vimrc&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& 显示相关&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&set shortmess=atI& && 启动的时候不显示那个援助乌干达儿童的提示&&
&winpos 5 5& && && & & 设定窗口位置&&
&set lines=40 columns=155& & & 设定窗口大小&&
&set nu& && && && &&&& 显示行号&&
set go=& && && && & & 不要图形按钮&&
&color asmanian2& &&&& 设置背景主题&&
set guifont=Courier_New:h10:cANSI& && 设置字体&&
&syntax on& && && &&&& 语法高亮&&
autocmd InsertLeave * se nocul&&& 用浅色高亮当前行&&
autocmd InsertEnter * se cul& & & 用浅色高亮当前行&&
&set ruler& && && &&&& 显示标尺&&
set showcmd& && && && 输入的命令显示出来,看的清楚些&&
&set cmdheight=1& &&&& 命令行(在状态行下)的高度,设置为1&&
&set whichwrap+=&,&,h,l& && 允许backspace和光标键跨越行边界(不建议)&&
&set scrolloff=3& &&&& 光标移动到buffer的顶部和底部时保持3行距离&&
set novisualbell& & & 不要闪烁(不明白)&&
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\&%d/%m/%y\ -\ %H:%M\&)}& &&状态行显示的内容&&
set laststatus=1& & & 启动显示状态行(1),总是显示状态行(2)&&
set foldenable& && && 允许折叠&&
set foldmethod=manual& && 手动折叠&&
&set background=dark &背景使用黑色
set nocompatible&&&去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限&&
& 显示中文帮助
if version &= 603
& & set helplang=cn
& & set encoding=utf-8
& 设置配色方案
&colorscheme murphy
&if (has(&gui_running&))
&& &set guifont=Bitstream\ Vera\ Sans\ Mono\ 10
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&新文件标题&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.bash,*.sh,*.pl,*.expect,*.py,*.cpp,*.[ch],*.sh,*.java exec &:call SetTitle()&
&&定义函数SetTitle,自动插入文件头
func SetTitle()
& & &如果文件类型为.sh文件
& & if &filetype == 'java'
& && &&&call setline(1, &/*************************************************************************&)
& && &&&call append(line(&.&), && & & File Name: &.expand(&%&))
& && &&&call append(line(&.&)+1, && & & Author: pyartist&)
& && &&&call append(line(&.&)+2, && & & Mail:
& && &&&call append(line(&.&)+3, && & & Created Time: &.strftime(&%c&))
& && &&&call append(line(&.&)+4, & ************************************************************************/&)
& && &&&call append(line(&.&)+5, &&)
& & else
& && &&&exec &:call Head()&
& & if &filetype == 'cpp'
& && &&&call append(line(&.&)+6, &#include&iostream&&)
& && &&&call append(line(&.&)+7, &&)
& && &&&call append(line(&.&)+8, &&)
& & if &filetype == 'c'
& && &&&call append(line(&.&)+6, &#include&stdio.h&&)
& && &&&call append(line(&.&)+7, &&)
& & &新建文件后,自动定位到文件末尾
& & autocmd BufNewFile * normal G
func Head()
& && &&&call setline(1,&\#########################################################################&)
& && &&&call append(line(&.&), &\# File Name: &.expand(&%&))
& && &&&call append(line(&.&)+1, &\# Author: pyartist&)
& && &&&call append(line(&.&)+2, &\# mail: &)
& && &&&call append(line(&.&)+3, &\# Created Time: &.strftime(&%c&))
& && &&&call append(line(&.&)+4, &\#########################################################################&)
& && &&&call append(line(&.&)+5, &&)
& && &&&call append(line(&.&)+6, &&)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
nmap &leader&w :w!&cr&
nmap &leader&f :find&cr&
& 映射全选+复制 ctrl+a
map &C-A& ggVGY
map! &C-A& &Esc&ggVGY
map &F12& gg=G
& 选中状态下 Ctrl+c 复制
vmap &C-c& &+y
nnoremap &F2& :g/^\s*$/d&CR&
&比较文件&&
nnoremap &C-F2& :vert diffsplit
&新建标签&&
map &M-F2& :tabnew&CR&&&
&列出当前目录文件&&
map &F3& :tabnew .&CR&&&
&打开树状文件目录&&
map &C-F3& \be&&
&C,C++ 按F5编译运行
map &F5& :call CompileRunGcc()&CR&
func! CompileRunGcc()
& & exec &w&
& & if &filetype == 'c'
& && &&&exec &!g++ % -o %&&
& && &&&exec &! ./%&&
& & elseif &filetype == 'cpp'
& && &&&exec &!g++ % -o %&&
& && &&&exec &! ./%&&
& & elseif &filetype == 'java'
& && &&&exec &!javac %&
& && &&&exec &!java %&&
& & elseif &filetype == 'sh'
& && &&&:!./%
&C,C++的调试
map &F8& :call Rungdb()&CR&
func! Rungdb()
& & exec &w&
& & exec &!g++ % -g -o %&&
& & exec &!gdb ./%&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&实用设置
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& 设置当文件被改动时自动载入
set autoread
& quickfix模式
autocmd FileType c,cpp map &buffer& &leader&&space& :w&cr&:make&cr&
set completeopt=preview,menu
&允许插件&&
filetype plugin on
&共享剪贴板&&
set clipboard+=unnamed
&从不备份&&
set nobackup
&make 运行
:set makeprg=g++\ -Wall\ \ %
set autowrite
set ruler& && && && && && & & 打开状态栏标尺
set cursorline& && && && &&&& 突出显示当前行
set magic& && && && && && & & 设置魔术
set guioptions-=T& && && &&&& 隐藏工具栏
set guioptions-=m& && && &&&& 隐藏菜单栏
&set statusline=\ %&%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
& 设置在状态行显示的信息
set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable& && && && &&&& 开始折叠
& 不要使用vi的键盘模式,而是vim自己的
set nocompatible
& 语法高亮
set syntax=on
& 去掉输入错误的提示声音
& 在处理未保存或只读文件的时候,弹出确认
set confirm
& 自动缩进
set autoindent
set cindent
& Tab键的宽度
set tabstop=4
& 统一缩进为4
set softtabstop=4
set shiftwidth=4
& 不要用空格代替制表符
&&set noexpandtab
& 在行和段开始处使用制表符
set smarttab
& 显示行号
set number
& 历史记录数
set history=1000
&禁止生成临时文件
set nobackup
set noswapfile
&搜索忽略大小写
&&set ignorecase
&搜索逐字符高亮
set hlsearch
set incsearch
set gdefault
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set langmenu=zh_CN.UTF-8
set helplang=cn
& 我的状态行显示的内容(包括文件类型和解码)
&set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\&%d/%m/%y\ -\ %H:%M\&)}
&set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
& 总是显示状态行
set laststatus=2
& 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
& 侦测文件类型
filetype on
& 载入文件类型插件
filetype plugin on
& 为特定文件类型载入相关缩进文件
filetype indent on
& 保存全局变量
set viminfo+=!
& 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
& 字符间插入的像素行数目
set linespace=0
& 增强模式中的命令行自动完成操作
set wildmenu
& 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
& 允许backspace和光标键跨越行边界
set whichwrap+=&,&,h,l
& 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
& 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
& 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
& 高亮显示匹配的括号
set showmatch
& 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1
& 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
& 为C程序提供自动缩进
set smartindent
& 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile *&&setfiletype txt
:inoremap ( ()&ESC&i
:inoremap ) &c-r&=ClosePair(')')&CR&
:inoremap { {&CR&}&ESC&O
:inoremap } &c-r&=ClosePair('}')&CR&
:inoremap [ []&ESC&i
:inoremap ] &c-r&=ClosePair(']')&CR&
:inoremap & &&&ESC&i
:inoremap ' ''&ESC&i
function! ClosePair(char)
& & if getline('.')[col('.') - 1] == a:char
& && &&&return &\&Right&&
& && &&&return a:char
endfunction
filetype plugin indent on
&打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& CTags的设定&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
let Tlist_Sort_Type = &name&& & & 按照名称排序&&
let Tlist_Use_Right_Window = 1&&& 在右侧显示窗口&&
let Tlist_Compart_Format = 1& & & 压缩方式&&
let Tlist_Exist_OnlyWindow = 1&&& 如果只有一个buffer,kill窗口也kill掉buffer&&
let Tlist_File_Fold_Auto_Close = 0&&& 不要关闭其他文件的tags&&
let Tlist_Enable_Fold_Column = 0& & & 不要显示折叠树&&
autocmd FileType java set tags+=D:\tools\java\tags&&
&autocmd FileType h,cpp,cc,c set tags+=D:\tools\cpp\tags&&
&let Tlist_Show_One_File=1& && && && &&不同时显示多个文件的tag,只显示当前文件的
&设置tags&&
set tags=tags&&
&set autochdir
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&默认打开Taglist
let Tlist_Auto_Open=1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& Tag list (ctags)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let Tlist_Show_One_File = 1 &不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 &如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 &在右侧窗口中显示taglist窗口
& minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1复制代码
论坛徽章:95
白手起家, 积分 10, 距离下一级还需 190 积分
论坛徽章:0
谢谢楼主分享。来支持你了
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处第三方登录:

我要回帖

更多关于 vim 选择多行 的文章

 

随机推荐