Linux用vim进行C++编程的配置和操作入门
Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使⽤操作⽅法vi编辑器的使⽤:vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。
1.命令⾏模式该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。
在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。
此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。
输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。
2.⽂本输⼊模式命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。
i: 插⼊命令,会将⽂本插⼊到光标所在位置之前I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸a: 追加⽂本命令,会将⽂本追加到光标当前位置之后A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸c: 修改命令r: 取代命令s: 替换命令在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。
3.末⾏模式命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。
多数⽂件管理命令都是在此模式下执⾏的。
末⾏命令执⾏完后,vi会⾃动回到命令⾏模式4.vi⽂本的删除命令:vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。
命令⾏模式下,vi常⽤删除命令x 删除光标处的字符。
若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。
X 删除光标前⾯的字符。
若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。
dd 删除光标所在的整⾏。
前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。
D 或 d$ 删除从光标所在处开始到⾏尾的内容。
d( 删除到上⼀句开始的所有字符d) 删除到下⼀句开始的所有字符d{ 删除到上⼀段开始的所有字符d} 删除到下⼀段开始的所有字符d0 删除从光标前⼀个字符开始到⾏⾸的内容dw 删除⼀个单词。
linuxvim操作笔记

linuxvim操作笔记V1. 默认字符编码为utf8,打开使⽤gb2312编码的⽂件,中⽂全为乱码,如何恢复正常显⽰? 输⼊ edit ++enc=cp936V2. 如何在vim系统中执⾏命令?输⼊ !cmdV3. 使⽤vim直接打开并编辑.*gz⽂件,⽽⽆须解压,读取,编辑,再压缩.压缩⽂件的⽀持是通过pluginvim ls-lrR.txt.gzV4. 如何Vim⽀持语法加亮?⼀劳永逸的⽅法,在~/.vimrc中增加如下语句syntax on临时性的⽅法, 输⼊命令:syntax onV5. Vim如何在结构⽂档中快速切换,⽐如 C语⾔{ }块之间切换.输⼊在{}之间,输⼊%即可V6. 如何让Vim记下我的编辑状态,以便下次快速恢复⼯作?输⼊ :mksession file_name_your_sessionV7. 如何让Vim告诉你编辑⽂件的字节数,字数,当前位置信息?输⼊ g CTRL_GV8. 输⼊help,打开了帮助窗⼝,如何快速关闭?输⼊CTRL-W ,然后再输⼊CTRL-Q,或者输⼊CTRL-W qV9. 我要每天编辑⽇志,我不想去输⼊⽇期与时间,该怎么办?现要如这样的⽇期形式Mon Sep 19 23:19:03 CST 2005,简单,定义⼀个快捷键F2,在vim中做这样⼀个映射:map gg:read !dateV10. 如何使⽤Vim改变⽂本⽂件的编码?⽐如,原有1个⽂档为utf-8编码的,现在要将它改为cp936编码,可⽤如下指令:set fileencoding=cp936然后再保存⽂件:wV11. 如何将vim记住我的配置选项(⽐如默认的编码⽅式,⽂件类型等)?请将你的配置命令写到~/.vimrc配置脚本⽂件中V12. 如何查看当前编辑的C/C++源⽂件所有include⽂件路径?输⼊:checkpathV13. 如何保存全局的配置选现(对所有⽤户都可⽤)?先输⼊:version, 查看系统vimrc配置⽂件的值再编辑系统vimrc配置⽂件,加⼊你想要vim执⾏的命令V14. 如何快速复制Buffer中的⼀⾏⽂字?输⼊yy先记录到缓冲区, 移动光标到想要粘贴处,按pV15. 如何利⽤宏命令,⽣成数字顺序列表?1. Create the first list entry, make sure it starts with a number.2. qa - start recording into buffer ‘a’3. Y - yank the entry4. p - put a copy of the entry below the first one5. CTRL-A - increment the number6. q - stop recording7. @a - repeat the yank, put and increment timesV16. 如何实现⽂本的折叠(Fold)?⾃动Fold,假设你的⽂件是C源⽂件,输⼊:set foldmethod=indent:set foldenable⼿动Fold,选中你要折的⾏,在Normal模式下输⼊命令 zf当Fold创建后,移动光标到Fold所在⾏输⼊ zo, 打开相应的Foldzc, 关闭相应的FoldzM, 关闭⽂件中所有的FoldzR, 打开⽂件中所有的Foldza, ⾃动打开或关闭相应的FoldV17. 如何查看当前⽂件中的字,字符个数?输⼊g CTRL-G 即可,所有字节数按UTF-8的形式进⾏计数.V18. 如何在Visual模式下快速搜索当前选中的⽂字?为了不改变⽤户使⽤习惯,我们依然沿⽤*和#这两键vnoremap * y/“vnoremap # y?“注: 指令插⼊命名寄存器的内容V19. 如何在源代码中不同块/段落间来回跳跃?输⼊ { , 前进⾄上⼀段落输⼊ } , 前进⾄后⼀段落V20. 如何⽂本中的TAB转化为固定长度的空格?输⼊ :set expandtab输⼊ :set tabstop=4输⼊ :retabV21. vim中paste剪贴板中的数据如何让它不缩进,保持原格式?paste时,输⼊的⽂本⼤多会包含换⾏字符,还有⼀些特殊字符,vim会⾃动对⽂本缩进,并且⾃动换⾏等,为了避免这些智能选项的影响,可以把paste开关打开V22. 有趣的⼏个功能gg 到⽂件⾸gd 到变量声明gg=G 全篇⾃动缩进 , =G 单⾏缩进K(shift+k) mancrl+] 函数原型处 crl+t 回 ( ctags )ctl+p ⾃动补全( 编辑状态 ):X 加密保存( 要输⼊密码 )使⽤说明:以下的例⼦中 xxx 表⽰在命令模式下输⼊ xxx 并回车以下的例⼦中 :xxx 表⽰在扩展模式下输⼊ xxx 并回车⼩括号中的命令表⽰相关命令.在编辑模式或可视模式下输⼊的命令会另外注明.1. 查找/xxx(?xxx) 表⽰在整篇⽂档中搜索匹配xxx的字符串, / 表⽰向下查找, ? 表⽰向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.⼀般来说是区分⼤⼩写的, 要想不区分⼤⼩写, 那得先输⼊:set ignorecase查找到以后, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.*(#) 当光标停留在某个单词上时, 输⼊这条命令表⽰查找与该单词匹配的下(上)⼀个单词. 同样, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, ⽽是匹配包含该单词的所有字符串.gd 本命令查找与光标所在单词相匹配的单词, 并将光标停留在⽂档的⾮注释段中第⼀次出现这个单词的地⽅.% 本命令查找与光标所在处相匹配的反括号, 包括 () [] {}f(F)x 本命令表⽰在光标所在⾏进⾏查找, 查找光标右(左)⽅第⼀个x字符.找到后:输⼊ ; 表⽰继续往下找输⼊ , 表⽰反⽅向查找2. 快速移动光标在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很⽅便的进⾏光标定位和编辑. 因此能更快⼀点移动光标是很有⽤的.w(e) 移动光标到下⼀个单词.b 移动光标到上⼀个单词.0 移动光标到本⾏最开头.^ 移动光标到本⾏最开头的字符处.$ 移动光标到本⾏结尾处.H 移动光标到屏幕的⾸⾏.M 移动光标到屏幕的中间⼀⾏.L 移动光标到屏幕的尾⾏.gg 移动光标到⽂档⾸⾏.G 移动光标到⽂档尾⾏.c-f (即 ctrl 键与 f 键⼀同按下) 本命令即 page down.c-b (即 ctrl 键与 b 键⼀同按下, 后同) 本命令即 page up.” 此命令相当有⽤, 它移动光标到上⼀个标记处, ⽐如⽤ gd, * 等查找到某个单词后, 再输⼊此命令则回到上次停留的位置.‘. 此命令相当好使, 它移动光标到上⼀次的修改⾏.`. 此命令相当强⼤, 它移动光标到上⼀次的修改点.3. 拷贝, 删除与粘贴在 vi 中 y 表⽰拷贝, d 表⽰删除, p 表⽰粘贴. 其中拷贝与删除是与光标移动命令结合的, 看⼏个例⼦就能够明⽩了.yw 表⽰拷贝从当前光标到光标所在单词结尾的内容.dw 表⽰删除从当前光标到光标所在单词结尾的内容.y0 表⽰拷贝从当前光标到光标所在⾏⾸的内容.d0 表⽰删除从当前光标到光标所在⾏⾸的内容.y$ 表⽰拷贝从当前光标到光标所在⾏尾的内容.d$ 表⽰删除从当前光标到光标所在⾏尾的内容.yfa 表⽰拷贝从当前光标到光标后⾯的第⼀个a字符之间的内容.dfa 表⽰删除从当前光标到光标后⾯的第⼀个a字符之间的内容.特殊地:yy 表⽰拷贝光标所在⾏.dd 表⽰删除光标所在⾏.D 表⽰删除从当前光标到光标所在⾏尾的内容.关于拷贝, 删除和粘贴的复杂⽤法与寄存器有关, 可以⾃⾏查询.4. 数字与命令在 vi 中数字与命令结合往往表⽰重复进⾏此命令, 若在扩展模式的开头出现则表⽰⾏号定位. 如:5fx 表⽰查找光标后第 5 个 x 字符.5w(e) 移动光标到下五个单词.5yy 表⽰拷贝光标以下 5 ⾏.5dd 表⽰删除光标以下 5 ⾏.y2fa 表⽰拷贝从当前光标到光标后⾯的第⼆个a字符之间的内容.:12,24y 表⽰拷贝第12⾏到第24⾏之间的内容.:12,y 表⽰拷贝第12⾏到光标所在⾏之间的内容.:,24y 表⽰拷贝光标所在⾏到第24⾏之间的内容. 删除类似.5. 快速输⼊字符在 vi 中, 不要求你输⼊每⼀个字符, 可以有很多种⽅法快速输⼊⼀些字符.使⽤ linux/unix 的同学⼀定有⼀个经验, 在命令⾏下输⼊命令时敲⼊头⼏个字符再按TAB 系统就会⾃动将剩下的字符补齐, 假如有多个匹配则会打印出来. 这就是著名的命令补齐(其实windows中也有⽂件名补齐功能). vi 中有许多的字符串补齐命令, ⾮常⽅便.c-p(c-n) 在编辑模式中, 输⼊⼏个字符后再输⼊此命令则 vi 开始向上(下)搜索开头与其匹配的单词并补齐, 不断输⼊此命令则循环查找. 此命令会在所有在这个 vim 程序中打开的⽂件中进⾏匹配.c-x-l 在编辑模式中, 此命令快速补齐整⾏内容, 但是仅在本窗⼝中出现的⽂档中进⾏匹配.c-x-f 在编辑模式中, 这个命令表⽰补齐⽂件名. 如输⼊:/usr/local/tom 后再输⼊此命令则它会⾃动匹配出:/usr/local/tomcat/abbr 即缩写. 这是⼀个宏操作, 可以在编辑模式中⽤⼀个缩写代替另⼀个字符串. ⽐如编写java⽂件的常常输⼊ System.out.println, 这很是⿇烦, 所以应该⽤缩写来减少敲字. 可以这么做::abbr sprt System.out.println以后在输⼊sprt后再输⼊其他⾮字母符号, 它就会⾃动扩展为System.out.println6. 替换替换是 vi 的强项, 因为可以⽤正规表达式来匹配字符串.以下提供⼏个例⼦.:s/aa/bb/g 将光标所在⾏出现的所有包含 aa 的字符串中的 aa 替换为 bb:s/\/bb/g 将光标所在⾏出现的所有 aa 替换为 bb, 仅替换 aa 这个单词:%s/aa/bb/g 将⽂档中出现的所有包含 aa 的字符串中的 aa 替换为 bb:12,23s/aa/bb/g 将从12⾏到23⾏中出现的所有包含 aa 的字符串中的 aa 替换为 bb :12,23s/^/#/ 将从12⾏到23⾏的⾏⾸加⼊ # 字符:%s= *$== 将所有⾏尾多余的空格删除:g/^\s*$/d 将所有不包含字符(空格也不包含)的空⾏删除.7. 多⽂件编辑在⼀个 vim 程序中打开很多⽂件进⾏编辑是挺⽅便的.:sp(:vsp) ⽂件名 vim 将分割出⼀个横(纵)向窗⼝, 并在该窗⼝中打开新⽂件.从 vim6.0 开始, ⽂件名可以是⼀个⽬录的名称, 这样, vim 会把该⽬录打开并显⽰⽂件列表, 在⽂件名上按回车则在本窗⼝打开该⽂件, 若输⼊ O 则在新窗⼝中打开该⽂件, 输⼊ ? 可以看到帮助信息.:e ⽂件名 vim 将在原窗⼝中打开新的⽂件, 若旧⽂件编辑过, 会要求保存.c-w-w vim 分割了好⼏个窗⼝怎么办? 输⼊此命令可以将光标循环定位到各个窗⼝之中.:ls 此命令查看本 vim 程序已经打开了多少个⽂件, 在屏幕的最下⽅会显⽰出如下数据:1 %a “usevim.html” ⾏ 1622 # “xxxxxx.html” ⾏ 0其中:1 表⽰打开的⽂件序号, 这个序号很有⽤处.%a 表⽰⽂件代号, % 表⽰当前编辑的⽂件,# 表⽰上次编辑的⽂件“usevim.html” 表⽰⽂件名.⾏ 162 表⽰光标位置.:b 序号(代号) 此命令将指定序号(代号)的⽂件在本窗⼝打开, 其中的序号(代号)就是⽤ :ls 命令看到的.:set diff 此命令⽤于⽐较两个⽂件, 可以⽤:vsp filename命令打开另⼀个⽂件, 然后在每个⽂件窗⼝中输⼊此命令,就能看到效果了.8. 宏替换vi 不仅可以⽤ abbr 来替换⽂字, 也可以进⾏命令的宏定义. 有些命令输起来很费劲, 因此我把它们定义到 - 上, 这样就很⽅便了.这些配置可以预先写到 ~/.vimrc (windows 下为 $VIM/_vimrc) 中, 写进去的时候不⽤写前⾯的冒号.:nmap :nohls 取消被搜索字串的⾼亮:nmap w 命令模式下转移光标到不同窗⼝:imap 输⼊模式下运⾏:nmap :%s= *$== 删除所有⾏尾多余的空格.:imap 同上:java 中: (注, 这⾥为什么说 java 中, 因为以下定义对其他⽂件格式不起作⽤, 下⽂会说到如何实现这⼀点):nmap :comp javac:mak -d . %此命令⽤ javac 编译 java ⽂件, 它会⾃动将光标定位到出错点. 不过这需要定义⼀个 javac.vim ⽂件在 $VIM/compiler 下, 在 javac.vim ⾥⾯只有两⾏字:setlocal makeprg=javacsetlocal errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#:nmap :comp ant:mak此命令⽤ ant 编译 java ⽂件, 它会⾃动将光标定位到出错点. ⼀般来说, 安装vim 后已经有了compiler/ant.vim⽂件, 因此这个命令可以直接使⽤. 但是需要在当前⽬录下有 build.xml ⽂件, 当然还必须安装 ant 才⾏.:nmap :cl 此命令⽤于查看所有的编译错误.:imap:nmap :cc 此命令⽤于查看当前的编译错误.:imap:nmap :cn 此命令⽤于跳到下⼀个出错位置.:imap:nmap :cp 此命令⽤于跳到上⼀个出错位置.:imap:nmap :JavaBrowser此命令⽤于在窗⼝左部分割出⼀个新窗⼝, ⾥⾯的内容是 java 的资源树, 包括本⽂件中出现的类, 类的成员变量及成员⽅法, 就好像 JCreator 表现的那样.在这个窗⼝中输⼊ ? 会看到帮助. 嘿嘿, 很好⽤, 不过需要 ctags ⽀持.:imap9. TABTAB 就是制表符, 单独拿出来做⼀节是因为这个东西确实很有⽤.<< 输⼊此命令则光标所在⾏向左移动⼀个 tab.>> 输⼊此命令则光标所在⾏向右移动⼀个 tab.5>> 输⼊此命令则光标后 5 ⾏向右移动⼀个 tab.:12,24> 此命令将12⾏到14⾏的数据都向右移动⼀个 tab.:12,24>> 此命令将12⾏到14⾏的数据都向右移动两个 tab.那么如何定义 tab 的⼤⼩呢? 有⼈愿意使⽤ 8 个空格位, 有⼈⽤4个, 有的⽤2个.有的⼈希望 tab 完全⽤空格代替, 也有的⼈希望 tab 就是 tab. 没关系, vim 能帮助你.以下的设置⼀般也都先写⼊配置⽂件中, 免得⽼敲.:set shiftwidth=4 设置⾃动缩进 4 个空格, 当然要设⾃动缩进先.:set sts=4 即设置 softtabstop 为 4. 输⼊ tab 后就跳了 4 格.:set tabstop=4 实际的 tab 即为 4 个空格, ⽽不是缺省的 8 个.:set expandtab 在输⼊ tab 后, vim ⽤恰当的空格来填充这个 tab.10. autocmd这个命令⼗分的强⼤, 可以⽤这个命令实现对不同的⽂件格式应⽤不同的配置; 可以在新建⽂件时⾃动添加上版权声明等等. 这些命令⼀般定义在 ~/.vimrc 这样的配置⽂件⾥⾯. 由于他很强⼤, 所以我不能给出很具体的说明, 只能举⼏个例⼦, 详细的请看帮助. :autocmd! 删除所有之前的⾃动命令.autocmd FileType java source ~/.vim/files/java.vimautocmd FileType java source ~/.vim/files/jcommenter.vim以上两条命令让我在打开 java ⽂件时才应⽤后⾯提到的两个配置⽂件.autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel以上这条命令让我在新建 java ⽂件时⾃动加⼊ java.skel ⽂件的内容.autocmd BufNewFile *.java normal gnp以上这条命令让我在新建 java ⽂件时⾃动运⾏ gnp 命令, 这个命令进⾏⼀些特殊化处理, ⽐如将新 java ⽂件中的 __date__ 替换成今天的⽇期什么的.11. 常⽤脚本在 你可以发现很多脚本(script), 这些脚本常常有让你意想不到的作⽤.我常⽤的有:jcommenter.vim ⾃动加⼊ javadoc 风格的注释.JBrowser.vim 类资源浏览. C, C++ 等可以⽤ Tlist还有许多有⽤的, ⽐如 checkstyle.vim 可以检验你的编程风格, jad.vim 可以直接反编译 .class ⽂件等等.12. 常⽤配置在~/.vimrc 配置⽂件中你常常需要⼀些个性化配置. ⽐如上⾯写的⼀些宏定义, ⼀些autocmd 定义等等. ⽐如:set suffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc这样在vim中打开⽂件时, 按 tab 键补齐⽂件名时它会忽略上述⽂件.set nu 显⽰⾏号set ai 设置⾃动缩进map Y y$ 让 Y 和 D ⼀样, 要不然 Y 的本意和 yy ⼀样.13. 其他还有许多有意思的命令, 记录在这⾥免得忘记.. 重复上次编辑命令.:g/^/exec “s/^/”.strpart(line(”.”).” “, 0, 4) 在⾏⾸插⼊⾏号:runtime! syntax/2html.vim 转换 txt 成 html, 会按照你的颜⾊配置来转。
linux系统怎么编译c++程序

linux系统怎么编译c++程序编译C++程序在Linux系统的操作步骤如下:1. 打开终端:进入Linux系统后,打开终端,可以通过快捷键Ctrl+Alt+T或者在菜单中找到终端应用程序来打开。
2. 切换到源代码所在目录:使用cd命令切换到C++源代码所在的目录。
例如,如果源代码在home目录的cpp目录下,可以使用以下命令切换到该目录:```bashcd ~/cpp```可以用ls命令查看当前目录下的文件。
3. 编写C++源代码:使用你喜欢的文本编辑器编写C++源代码,将其保存为.cpp文件。
例如,可以使用vim编辑器创建一个名为main.cpp 的源代码文件:```bashvim main.cpp在编辑器中输入C++代码,并保存退出。
4. 编译源代码:在终端中使用g++命令来编译C++源代码。
以下是使用g++进行编译的命令格式:```bashg++ <源代码文件名>.cpp -o <可执行文件名>```例如,如果源代码文件名为main.cpp,你想将可执行文件命名为myprogram,可以使用以下命令:```bashg++ main.cpp -o myprogram```编译过程中,g++将会将C++源代码编译为可执行文件。
如果没有错误信息,即编译成功。
5. 运行程序:编译成功后,使用以下命令来运行程序:```bash./<可执行文件名>```以前面命名的可执行文件myprogram为例,可以使用以下命令运行程序:```bash./myprogram```现在你的C++程序将在终端中运行。
通过以上步骤,你可以在Linux系统中编译并运行C++程序。
如果在编译过程中出现错误,可以检查代码和命令是否正确,并根据编译器的错误提示进行调整。
Linux基本命令vim命令(一)

Linux基本命令vim命令(⼀)vim的三种⼯作模式命令模式、输⼊模式和编辑模式的相互转换,如图命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。
在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。
进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。
编辑模式:如果要保存、查找或者替换⼀些内容等,就需要进⼊编辑模式。
编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。
操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。
使⽤Vim打开⽂件为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:[root@localhost /]# cp /etc/profile /tmp/profile.vim使⽤vim 进⼊profile⽂件的命令模式操作功能描述vim profile.vim只是打开⽂件打开⽂件后,直接定位指定⾏数处,vim +20 /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏打开⽂件后,直接定位指定⾏数处,vim +/future /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏打开⽂件后,接下来开始对⽂件进⾏操作。
进⼊输⼊命令模式从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。
当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;操功能描述作i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令a在当前光标所在位置之后插⼊输⼊的⽂本A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。
vim编辑器的使用

vim编辑器的使⽤这⾥主要介绍vim编辑器的⼀些常⽤命令和⽅法,主要包括: vim编辑器的基本使⽤,包括vi的启动与退出、⼯作模式的切换、光标的移动、屏幕的滚动、⽂本的插⼊与删除、复制与粘帖、查找与替换等。
vim编辑器之程序编辑,包括程序设计中光标的跳转、关键字的补全,以及代码的缩进等。
希望通过本节的学习,能够基本掌握vi编辑器的使⽤⽅法和相关技巧,能够独⽴完成程序源代码的编辑和修改。
1、 vim编辑器的基本使⽤ vim编辑器是Linux系统下的标准编辑器。
虽然命令繁多复杂,并且绝⼤多数功能的输⼊都依靠键盘来完成,但如果我们熟悉掌握之后就会发现vim编辑器的功能、效率等都是其他图形界⾯编辑器⽆法⽐拟的,下⾯让我们来揭开它的神秘⾯纱。
1.1、 vim的启动 在终端输⼊命令vim,后⾯接着输⼊想要创建或编辑的⽂件名,即可进⼊vim编辑器。
$ vim test.c 如果vi命令后⾯所输⼊的⽂件不存在,则系统会⾃动创建⼀个以该字符串命名的⽂本⽂件。
如上图,光标停留在左上⽅,由于新建⽂件中没有任何内容,所以每⼀⾏的开头都为波浪线。
窗⼝的底部为状态栏,显⽰当前编辑⽂件的相关信息。
打开⽂件后,光标停留在屏幕左上⽅。
状态栏显⽰了当前编辑⽂件的⽂件名、⾏数以及字符数等信息。
vi命令打开⽂件时还可以带参数,这些参数⽤于修正vi的打开⽅式,主要包括如下:-R :以只读⽅式打开⽂件。
如果只需阅读⽂件内容⽽不想对其进⾏修改时,可以使⽤这个参数,以防对⽂件的误操作,-x:该参数可以在保存⽂件时对其进⾏加密,以后每次打开都需要输⼊密钥,否则将出现乱码。
1.2 、vim的⼯作模式 vim有3种⼯作模式:普通模式、编辑模式和命令模式,这3种模式之间可以相互切换。
(1)、普通模式 由Shell进⼊vim编辑器时,⾸先进⼊普通模式。
在普通模式下,从键盘输⼊任何字符都被当作命令来解释。
普通模式下没有任何提⽰符,当输⼊命令时⽴即执⾏,不需要回车,⽽且输⼊的字符不会在屏幕上显⽰出来。
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⽂件)。
vim中C命令

vim中C命令
在Vim编辑器中,C命令用于修改当前行上光标所在位置及其后的内容,并进入插入模式。
具体来说,C命令可以删除当前行上光标所在位置及其后的内容,并将其替换为新的文本。
如果要删除的内容不包括当前行上的所有内容,可以在C命令后面指定一个范围,例如"3C"表示从当前行开始向下3行,删除这些行上光标所在位置及其后的内容。
此外,C命令还有其他的变体,例如:
C0或C^表示从光标处到当前行行首的部分进行修改。
C$表示修改当前行上光标后面的部分,直到行尾。
需要注意的是,C命令和d命令有些类似,都是删除操作,但是C命令在删除后进入插入模式,而d命令则是直接删除并不进入插入模式。
Linux常用命令之文件编辑命令vim

Linux常⽤命令之⽂件编辑命令vimvi命令vi命令是UNIX操作系统和类UNIX操作系统中最通⽤的全屏幕纯⽂本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,⽽且实现了很多增强功能。
vi编辑器⽀持编辑模式和命令模式,编辑模式下可以完成⽂本的编辑功能,命令模式下可以完成对⽂件的操作命令,要正确使⽤vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后⾃动进⼊命令模式。
从编辑模式切换到命令模式使⽤“esc”键,从命令模式切换到编辑模式使⽤“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使⽤键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输⼊。
常⽤内置命令如下:Ctrl+u:向⽂件⾸翻半屏;Ctrl+d:向⽂件尾翻半屏;Ctrl+f:向⽂件尾翻⼀屏;Ctrl+b:向⽂件⾸翻⼀屏;Esc:从编辑模式切换到命令模式;ZZ:命令模式下保存当前⽂件所做的修改后退出vi;:⾏号:光标跳转到指定⾏的⾏⾸;:$:光标跳转到最后⼀⾏的⾏⾸;x或X:删除⼀个字符,x删除光标后的,⽽X删除光标前的;D:删除从当前光标到光标所在⾏尾的全部字符;:删除光标⾏正⾏内容;ndd:删除当前⾏及其后n-1⾏;nyy:将当前⾏及其下n⾏的内容保存到寄存器?中,其中?为⼀个字母,n为⼀个数字;p:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的下⽅;P:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的上⽅;/字符串:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件尾部查找指定字符串的内容,查找的字符串会被加亮显⽰;?name:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件头部查找指定字符串的内容,查找的字符串会被加亮显⽰;a,bs/F/T:替换⽂本操作,⽤于在第a⾏到第b⾏之间,将F字符串换成T字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux用vim进行C++编程的配置和操作入门
娄底一中刘文博
信息学奥赛的编程推荐使用linux环境,湖南省已经规定提高组必须在linux下进行,最好的办法是安装windows和linux的双系统,这样既可以使用纯粹的linux 操作系统,也可以在两个系统中拷贝文件,双系统的安装方法,请参见我前面写的文档:不用U盘,不要光驱,不需分区,windows下安装noilinux双系统。
一、启动linux后,输入密码(默认密码123456)进入系统,创建自己的文件夹,考试的时候按照提示用同样方法创建考生文件夹(有可能系统已经创建了考生文件夹,就不用重新创建了)。
1、单击“位置”(桌面左上角)->主文件夹,打开主文件夹;
2、点右键->新建文件夹->修改文件夹名称,我这里建立了lwb文件夹,也可以命名为汉字,如下图;
3、进入刚才新建的文件夹,新建题目文件夹,进入题目文件夹,新建题目文件(题目.cpp,.in).out文件不用新建,会自动生成,以add题目为例,如下图:
二、配置vim。
Vi是Linux系统的第一个全屏幕交互式编辑程序,是功能强大、高度可定制的文本编辑器(另一个著名的编辑器是Emacs),vim是vi的升级版本,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs 并列成为类Unix系统用户最喜欢的文本编辑器。
vim具有三种模式:命令行模式、插入模式和底行模式,命令行模式下输入“i”或者“a”或者“o”进入插入模式,插入模式输入“Esc”返回命令行模式,命令行模式输入“:”进入底行模式。
1、打开终端(桌面->应用程序->附件->终端或者使用快捷键Ctrl+Alt+t)。
2、输入配置启动命令
sudo gedit /etc/vim/vimrc
3、输入默认密码123456回车,输密码时屏幕是没有显示的,如下图:
4、在打开的vim配置界面的最后面添加配置命令(严格区分大小写)
set nu //显示行号
set tabstop=4 //设置TAB为4格
set mouse=a //激活鼠标
set autoindent //设置自动缩进
set cursorline //突出显示该行
set cursorcolumn //突出显示该列
color desert //设置颜色主题为DESERT
set ruler //设置显示行号
set autoread //设置自动读取文件
map<F9> <Esc>:w<CR> :!g++ % -o %< && ./%< <CR>
imap<F9> <Esc>:w<CR>:!g++ % -o %< && ./% < <CR>
后面两行是在不同模式下映射键盘功能键F9来执行后面的命令序列,其中<Esc>表示键盘esc键,<CR>表示回车键,用直白的语言解释就是按F9相当于按Esc 键进入命令行,按:w进入底行模式保存文件,回车,然后利用g++强制编译,输出的程序文件和源文件同名,然后删掉程序文件的扩展名并且执行程序,回车。
如下图:
保存之后,配置vim就完成了。
三、利用vim编程
1、进入刚才新建的\lwb\add\目录,输入vim add.cpp回车,就在vim中打开了add.cpp源文件,这里用的的命令有ls(也可以用dir)和cd。
如下图所示:
2、输入代码,如下图:
3、然后按F9键,编译运行,提示6行有错误,cim没有声明
4、修改成cin,重新编译,然后输入数据,输出结果,这个时候终端就是windows
下的标准输入输出,如下图:
5、利用文件读写操作的话,可以把vim分成三个窗口,一个查看源程序,
一个查看输入文件,一个查看输出文件,先用“:vsp”分开窗口为两列,再用“:sp”分开左边窗口为两行,此时三个窗口都是add.cpp文件,如下图所示:
6、拖动窗口大小,点击左上角窗口,按Esc键,然后输入”:o add.in”,打开add.in,输入数据,再按“:w”保存文件,进入源程序窗口,按F9编译运行,再到左下角窗口,打开add.out文件就可以查看输出结果了,如下图所示:
7、vim常用操作命令:
“:w”保存“:w xxx.cpp”另存为xxx.cpp.
“:o xxx.cpp”打开xxx.cpp文件。
“:vsp”分开窗口为两列
“:sp”分开窗口为两行
“:q”退出“:wq”保存并退出“:q!”强制退出全文完,2018-04-12。