Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))

目录

  • 说明
  • 下载安装gvim,配置环境变量,设置管理员打开cmd
  • cmd下使用vim打开文件并编程
  • _vimrc的简单配置
  • vim下一些简单的操作
  • g++命令编译运行main.cpp文件
  • 小结

说明

很多搞算法的童鞋喜欢用codeblocks写c,c++,现在ACM区域赛中大部分使用linux下的vim进行编程,使用vim编程最大的好处就是可以脱离鼠标进行编程,还有就是使用vim编程起来也更有感觉(一开始觉得还挺装逼),一开始以为只有再linux下才能使用vim进行编程,后来了解到在windows下也可以使用vim进行编程,但是使用vim编程也是有一些要注意的地方。

  • 明白使用vim打开(创建文件)。
  • 要配置_vimrc文件(使得有基本的codeblocks的操作如括号配对,高亮)。
  • 了解vim编程中基本的操作如撤销u,全选ggVG,删除d,等等(这些在下面的文章中会提到)。

重点:之所以要写这篇文章是因为我之前在linux中配置了vim,但是到windows这边配置的时候网上没有找到比较合适的文章(大部分都是要配置插件,这些插件在后期可以用到,但是对于刚入门的新手在配置vim基本功能的时候未免有点繁琐)基本的配置就是想要在cmd中打开文件,然后从cmd直接跳转到vim中进行编程。 就是说在cmd下输入vim 文件名可以使用vim来对文件进行操作,效果如图:
这里写图片描述
这里写图片描述
下面一步步来配置:


下载安装gvim

  • 下载 : 在vim的官网找到相应的window版安装包下载即可。
  • 安装 : 直接按照相应的步骤安装完。
    效果如图:
    这里写图片描述
    这里主要讲vim的配置(在cmd中打开)。
  • 环境变量的配置:
    先找到系统属性(我的电脑中找或者直接搜索)。
    这里写图片描述
    然后点击编辑系统变量。
    这里写图片描述
    这时候我们把vim的安装目录下的vim80加入到系统path环境变量中。
    这里写图片描述
  • 设置管理员打开cmd: 一般的人的win+R打开cmd可能不是以系统管理员的身份打开的,而使用vim编辑文件时(在cmd中打开)需要系统管理员身份,这是我们可以设置每次打开cmd的时候默认使用系统管理员身份打开,步骤如下:
    这里写图片描述
    这里写图片描述
    这里写图片描述

cmd下使用vim打开文件并编程

配置好上面的步骤之后,我们就可以在cmd中打开相应的文件了:

  • 先使用dos命令打开一个目录:
    这里写图片描述
  • 然后使用vim main.cpp(使用vim打开main.cpp文件)
    这里写图片描述
  • 此时main.cpp就在vim中打开了(注意此时你的vim界面可能没有这么好看(还没有配置_vimrc文件))
    这里写图片描述

_vimrc的简单配置

为什么要配置vim呢:因为

  • vim一开始的界面丑,没有语法高亮;
  • tab键是8个空格,不方便;
  • 括号没有自动匹配,等等;

怎么配置呢,首先我们找到vim安装目录下的_vimrc文件:
这里写图片描述
可以使用记事本打开直接编辑:然后进行相应配置,vimrc文件的配置源码可以好好读一下,还是有点用的,我这里把我的_vimrc文件贴出来(直接把我的拷过去复制粘贴全部覆盖),我觉得已经可以满足我平常用写写算法题的需求了(这里暂时没有插件,没有使用GDB调试(有兴趣的童鞋可以去网上搜))

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
"source $VIMRUNTIME/mswin.vim
"behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction


"设置文件的代码形式 utf8
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936

"vim的菜单乱码解决
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

"vim提示信息乱码的解决
language messages zh_CN.utf-8

filetype on
filetype plugin indent on
"colorscheme evening    "配色方案
colorscheme desert
set helplang=cn     "设置中文帮助
set history=500     "保留历史记录
set guifont=Monaco:h10  "设置字体为Monaco,大小10
set tabstop=4       "设置tab的跳数
set expandtab
set backspace=2     "设置退格键可用
"set nu!        "设置显示行号
set wrap        "设置自动换行
"set nowrap         "设置不自动换行
set linebreak       "整词换行,与自动换行搭配使用
"set list       "显示制表符
set autochdir       "自动设置当前目录为正在编辑的目录
set hidden      "自动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
set scrolloff=5     "在光标接近底端或顶端时,自动下滚或上滚
"Toggle Menu and Toolbar    "隐藏菜单栏和工具栏
"set guioptions-=m
"set guioptions-=T
set showtabline=2   "设置显是显示标签栏
set autoread        "设置当文件在外部被修改,自动更新该文件
set tabstop=4         
set softtabstop=4     
set shiftwidth=4     
set expandtab       
set mouse=a         "设置在任何模式下鼠标都可用
set nobackup        "设置不生成备份文件
"set go=                "不要图形按钮
set guioptions-=T           " 隐藏工具栏
"set guioptions-=m           " 隐藏菜单栏

"===========================
"查找/替换相关的设置
"===========================
set hlsearch "高亮显示查找结果
set incsearch "增量查找

"===========================
"状态栏的设置
"===========================
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
set ruler "在编辑过程中,在右下角显示光标位置的状态行

"===========================
"代码设置
"===========================
syntax enable "打开语法高亮
syntax on "打开语法高亮
set showmatch "设置匹配模式,相当于括号匹配
set smartindent "智能对齐
"set shiftwidth=4 "换行时,交错使用4个空格
set autoindent "设置自动对齐
set ai! "设置自动缩进
"set cursorcolumn "启用光标列
"set cursorline "设置高亮当前行(这里我注释了)
hi CursorLine   cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
set guicursor+=a:blinkon0 "设置光标不闪烁
set fdm=indent "


" 关闭NERDTree快捷键
map <leader>t :NERDTreeToggle<CR>
" 显示行号
let NERDTreeShowLineNumbers=1
let NERDTreeAutoCenter=1
" 是否显示隐藏文件
let NERDTreeShowHidden=1
" 设置宽度
let NERDTreeWinSize=21
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']
" 显示书签列表
let NERDTreeShowBookmarks=1

inoremap { {}<ESC>i 
hi MatchParen ctermbg=DarkRed guibg=lightblue  
set clipboard=unnamed
set number 
set smartindent

vim下一些简单的操作

配置好了_vimrc文件之后我们就可以在cmd中使用vim main.cpp打开main.cpp文件了,进入到如下的界面之后,我们要进行编程,先要了解vim的一些模式,正常模式,输入模式,命令模式。这里我只讲基本的,用的比较多的。

  • (正常模式)当前光标下按 i,进入插入模式,可以进行编辑;
  • 在插入模式下,按ESC键回到正常模式,输入 :wq,回车,保存并退出;(记得输入冒号)
  • 在插入模式下,按ESC键回到正常模式,输入 :q!,回车,强制退出;(记得输入冒号)
  • 正常模式下删除一行:dd;
  • 正常模式下撤销 : u;
  • 正常模式下全选删除 : 先按ggVG ,然后按d
    这里只说了一些常见的,更多的可以网上搜,这里给出两个博客:
    博客1
    博客2
    可以好好学一下vim基本操作。

g++命令编译运行main.cpp文件

当我们写好了main.cpp文件时,使用:wq保存退出后,我们可以使用g++命令来编译c++文件
g++ -o main main.cpp
这时目录下就会生成main.exe 文件
这里写图片描述
然后我们运行main.exe(直接输入main.exe即可)
这里写图片描述
当然也可以使用in.txt文件输入,out.txt输出

g++ -o main main.cpp  //编译
main.exe   //运行
main.exe < in.txt  //in.txt中输入文件
main.exe > out.txt  //输出到out.txt中
main.exe <in.txt> out.txt   //in.txt中输入文件 and 输出到out.txt

小结

可能有些细节没有说明白,不懂得可以留言(hhh),这篇文章主要是vim的基础配置,我也只是个小白,对于那些超高vim配置的大佬可以直接无视(haha),主要也是方便自己以后如果忘记了这些操作可以复习一下,也是方便自己写c++(大多数时候自己还是写Java(hhh),至于插件以及GDB的配置,大家可以上网搜一下,后面有需要的话我也会自己继续配置。(最后补充一句 : 用vim写c,c++就是感觉比用codeblocks爽(hhhhhhh))。

猜你喜欢

转载自blog.csdn.net/zxzxzx0119/article/details/80178383