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

目录

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

说明

很多搞算法的同学喜欢用codeblocksc,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来对文件进行操作,效果如图:
Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第1张图片
Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第2张图片
下面一步步来配置:


下载安装gvim

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

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

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

  • 先使用dos命令打开一个目录:
    Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第10张图片
  • 然后使用vim main.cpp(使用vim打开main.cpp文件)
    Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第11张图片
  • 此时main.cpp就在vim中打开了(注意此时你的vim界面可能没有这么好看(还没有配置_vimrc文件))
    Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第12张图片

_vimrc的简单配置

为什么要配置vim呢:因为

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

怎么配置呢,首先我们找到vim安装目录下的_vimrc文件:
Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第13张图片
可以使用记事本打开直接编辑:然后进行相应配置,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 =~ '\
      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
    这里只说了一些常见的,更多的可以网上搜,这里给出我的另一篇博客介绍vim常用操作:
    可以好好学一下vim基本操作。

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

当我们写好了main.cpp文件时,使用:wq保存退出后,我们可以使用g++命令来编译c++文件
g++ -o main main.cpp

这时目录下就会生成main.exe文件
Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第14张图片
然后我们运行main.exe(直接输入main.exe即可)
Windows下使用cmd + Vim进行编程(初级_vimrc配置(无插件配置))_第15张图片
当然也可以使用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中

Vim常用操作总结

请转 这篇博客。持续更新Vim操作总结。


小结

可能有些细节没有说明白,这篇文章主要是vim的基础配置,我也只是个小白,主要也是方便自己以后如果忘记了这些操作可以复习一下,也是方便自己写c++(大多数时候自己还是写Java),至于插件以及GDB的配置,大家可以上网搜一下。。。

你可能感兴趣的:(杂七杂八)