好香好香的编辑器vscode

作者分享了从vim到VSCode的心路历程,包括vim的常用指令、.vimrc配置和喜欢的配色。在vim中遇到的挑战如函数跳转、Go语言支持和窗口切换促使作者转向VSCode。文中详细介绍了VSCode的C++与Go代码运行、用户设置与工作空间设置,以及推荐的插件如VSCodeVim。最后,作者分享了一些VSCode的快捷键和sftp插件的使用。
摘要由CSDN通过智能技术生成

vim

其实吧,我特别喜欢vim,也特别想学习vim,让vim跟随我整个程序员生涯。但是我放弃了!!不想再折腾了,以下为我对vim功能的使用。

  • 简单指令:w,wq,q!,dd,yy,G,gg,^,$,a,i,I
  • 稍微复杂一点:代码块操作,光标的移动(单词,代码快),hjkl
  • 另外,贴出我的.vimrc的配置
set autoindent "自动缩进
set cindent "c自动缩颈
set shiftwidth=4    "自动缩进的空白字符
set softtabstop=4
set tabstop=4
set nu
set t_Co=256
set background=light
"set mouse=a
synatx on

"set paste
call plug#begin('~/.vim/plugged')
"******************colormap***************
"Plug 'liuchengxu/space-vim-theme'
Plug 'nanotech/jellybeans.vim'
"Plug 'morhetz/gruvbox'
"Plug 'tomasr/molokai'
Plug 'brookhong/cscope.vim'
Plug 'scrooloose/nerdtree'
Plug 'valloric/youcompleteme'
Plug 'scrooloose/nerdcommenter'
Plug 'raimondi/delimitmate'
Plug 'joshdick/onedark.vim'
Plug 'majutsushi/tagbar'
call plug#end()

set g:tagbar_ctags_bin='/home/ubuntu/.vim/plugged/ctags.vim/plugin/ctags.vim'
"set background=light
":colorscheme space_vim_theme

colorscheme onedark
hi comment ctermfg =yellow
g:onedark_terminal_italics=1

let g:molokai_original = 1
"let g:rehash256=1
"let g:molokai_original=1
"""""""""""delimitMate自动三行缩进************"
let delimitMate_expand_space = 1
let delimitMate_expand_cr = 1
"
"
"""""""""'''NERDTree""""""""""""""
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>

"""""""""""""编译/运行""""""""""""
nnoremap <F5>   <Esc>:w<CR>:!g++ -std=c++14 % -o /tmp/a.out && /tmp/a.out<CR>
nnoremap <F7>   <Esc>:w<CR>:!g++ -std=c++14 %<CR>
nnoremap <C-F5> <Esc>:w<CR>:!g++ -std=c++14 -g % -o /tmp/a.out && gdb /tmp/a.out<CR>
""""""'''''''Tab''''''''''''''''''
noremap <C-L> <Esc>:tabnext<CR>
noremap <C-H> <Esc>:tabprevious<CR>

nmap <F12> :TagbarToggle<CR>
set cscopetag

.vimrc主要是一些插件的安装,还有就是配色,配色特别的喜欢,以下为界面:
在这里插入图片描述
用vim的时候其实挺开心的,因为我喜欢敲键盘的那种感觉,而且实验室的配置也很OK(400的键盘,4000的主显示屏+1000多的副显示屏,1w多的主机,3000多的椅子)。但是,这里面也有很多心酸,比如说吧,

  1. 看原码的时候,v studio有各种函数的跳转,但是为了实现这个功能,花了一些时间找到了cscopetag和ctag两个插件。用起来还ok,但也没有v studio好用嘛,还是IDE香啊;
  2. 再比如秋招找完了,我想学习下Go语言,想想得对于Go各种补全、提醒啊,心还挺累的;
  3. 再最后就是,窗口的切换,对于再摸索中的人来说,窗口的切换,也让人好累啊,又是调整窗口的大小,又是水平、竖直排列
  4. 还有刚开始的时候,文件的创建,文件的列表啊,这些也需要插件。
  5. 好像摸索了一段时间,感觉功能也ok了,但就是感觉还差点啥,仍旧没能使自己的工作效率变高
  6. 备战春招,还整这玩意,好累,哈哈哈

因为以上困扰,突然之间,我觉着吧,编译器不就是让你工作效率变高的嘛,为啥要再身边没有大哥的情况下,去搞vim,搞得自己心累,vscode不是也蛮香的嘛;出于这个原因,我把电脑里面的vscode彻彻底底的删了(用过),以下是彻底删除的方法:

彻底删除vscode

完全删除vscode

  1. 在安装目录中运行uninstall
  2. 在C:\Users\xxxxx 目录下删除.vscode目录;
  3. 在C:\Users\xxxxx\AppData\Roaming目录下删除Code目录;

其中:

  1. C:\Users\xxxxx.vscode:保存插件信息
  2. C:\Users\xxxxx\AppData\Roaming\Code :保存用户信息和缓存信息;

这样就算是彻底地卸载完了;

vscode运行C++代码

以下是vscode运行C++代码及调试地步骤:

Using GCC with MinGW

在这里衷心提醒自己一次,以后这种教程类地东西,别再去CSDN上面找教程了,去看官网吧,CSDN上面应该没有这么清晰地教程了。这里地英语也不难,如果实在觉得难,就下一个网易有道词典,开启划线翻译吧。

如果看到这篇文章,希望您去看链接,别看我的,我的只是记录,留给自己看的,我这水平还不够,拜托了。(不想坑人)

注意以下三个文件:

  1. tasks.json:这个文件知道vscode如何编译代码(Terminal > Configure Default Build Task > g++.exe build active file);
  2. launch.json:就是调试(按F5)的时候,指导vscdoe运行GDB调试器(Run > Add Configuration>C++ (GDB/LLDB));
  3. settings.json:文件基本的配置;
  4. c_cpp_properties.json:不知道什么;

vscode运行Go代码

  1. 首先需要配置号GOPATH、GOROOT
  2. 调试代码之前,和C++一样,需要建立一个launch.json文件;
  3. 自动补齐功能:
  4. 光标放在函数附近,提示函数原型:这个功能与godef 和godoc 相关,也可用gogetdoc
  5. 函数签名提醒:这个功能与godef 和godoc 相关,也可用gogetdoc
  6. Go To Definition:F2,Peek Definition:Alt + F12,Go to References:Shift + F12;
  7. Build、Lint, and Vet
  8. Test

用户设置与工作空间设置

VS Code提供两种设置方式:

  1. 用户设置: 这种方式进行的设置,会应用于该用户打开的所有工程;
  2. 工作空间设置:工作空间是指使用VS Code打开的某个文件夹,在该文件夹下会创建一个名为.vscode的隐藏文件夹,里面包含着仅适用于当前目录的VS Code的设置。工作空间的设置会覆盖用户的设置。

为什么需要设置两种设置方式呢?这是因为在一个大项目中,往往是由多人负责的,每个人的工作习惯不同,因此针对不同的工作目录,有了工作空间的设置;

以下是三种设置的打开方式:

  1. 特定语言设置:Ctrl + Shift + P > Preferences: Configure language specific settings;
  2. 用户设置:Ctrl + Shift + P > Preferences: Open User Settings;
  3. 工作空间设置:Ctrl + Shift + P > Preferences: Open Workspace Settings;

注意:特定语言设置只是 用户设置中的一个子项;

VS Code使用之基本设置与配置详解

常用插件

VSCode Vim

Vscode中使用vim的正确姿势

在vscode中安装vscodevim插件,这个插件是以下这些插件集成,可以通过json来开启相应功能:

  1. 游标 Multi-Cursor Mode
  2. 注释 vim-commentary
  3. 光标跳转 vim-easymotion,vim-sneak
  4. 针对于括号、引号的替换、删除操作:vim-surround
  5. 代码快选取:vim-indent-object
vim-indent-object
  1. ii :选取同一个缩进级别的代码,比如大括号所有的部分;
  2. ai: 选取同一级别代码,并且加上前面的大括号
  3. Ai:选取同一级别代码,并加上前一行和后一行;
vim-easymotion
  1. Search Character: s
  2. 搜索单词: w , 从光标位置起,往下在单词之间移动光标
  3. b, 从光标位置起,往上在单词之间移动光标
  4. j,往下,行之间跳动
  5. k,往上,行之间跳动
vim-sneak

因为默认,setting.json中是没有开启vim-sneak的,所以需要先在setting.json中添加vim-sneak:true

  1. s : 向前找到第一次出现 char, char, 比如s ml, 就会找到最近的一个ml,然后按 ”;“可以实现跳转;

  2. S : 与上一样,只是这里是往上进行跳转

vim-commentary
  • gc : // 注释
    • gcc:注释当前行
    • 视图模式下,选择注释块,然后gc,注释所选
    • gc2j,注释当前行和下面2行 《j表示下, k表示上》
  • gC :/* */注释
    • gCi注释当前大括号内的所有行
vim-surround
  1. d s : 删除光标最近相同的字符, 比如:两端的{},[],”“, ‘’
  2. c s :改变两边的字符,比如将 ”“ 改为’’
Vscode tricks
  1. gd : 跳转到函数定义的地方
  2. Ctrl + O : 与gd相反,返回;
  3. gh:显示函数签名
sftp插件;
  1. 这个插件主要负责与服务端,代码的同步;
  2. 需要注意的是,.vscode中的sftp.json应该目录,也就是说,如果我同步服务器中~/nginx,那么我在本地建立一个nginx文件,在该文件下,存在.vscode文件;

有需要就来这里!!!!

VS Code键位绑定图

  1. g t 在文件之间切换, 向前切换

  2. g T 在文件之间切换,向后切换

  3. Ctrl + e 或 Ctrl + p类似于vim中NERDTree功能,能在文件编辑于Explore之间跳转

  4. d b 删除光标后面的单词

  5. d e 删除光标前面的单词

  6. Ctrl + B: 取消左侧的Tag栏目

  7. w移动光标到下一个单词的词首,b移动光标到上一个单词的词首;e移动光标到下一个单词的结尾,ge移动光标到上一个单词的结尾

  8. %在括号之间跳转

形成自己的键位映射

《空缺》

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值