当前位置:首页 » 编程语言 » vim配置c语言

vim配置c语言

发布时间: 2023-01-11 14:32:51

‘壹’ 在VIM里面是怎样编译c语言的文件

一、首先要会使用vim编写一个c文件
1.在linux终端下输入:
vi
test.c
表示生成了一个test.c的c语言文件
2.此时时命令模式,按"a"键或者"i"进入输入模式,然后就是输入C语言代码
3.保存文件,再次回到命令模式,按"ESC“键,然后按":"键再输入"wq”表示保存退出
二、然后在用gcc编译test.c文件
直接输入
gcc
-o
mytest
test.c即可
表示直接生成mytest执行文件

‘贰’ 怎么在linux下用vim编写一个C程序

先在终端中输入

vim
test.c

回车进入vim编辑器,再按一下a键,进入编辑状态,然后输入如下C语言语句:
#include<stdio.h>
int
main()
{

printf("hello
world!\n");
}
到此,按esc键退出编辑状态,再输入一个冒号(shift
+
冒号分号那个键),紧跟着输入
wq
,即
输入

:wq

按回车,即推出vim编辑器回到终端命令窗口(类似xp的命令提示符),
之后输入

gcc
test.c
,这步是编译

./a.out

这是执行,将会输出
hello
world!
到此结束,前提是你已经安装gcc

‘叁’ c语言时vim该怎样配置才最好用

~/.vimrc 里添加一下内容

set autoindent
set cindent
set modeline
set ruler
set showcmd
set showfulltag
set showmode
set smartcase
set smartindent
set imcmdline
set previewwindow
set hlsearch
set number
set ts=4
syntax on

直接用vim进行代码编辑就可以了。
然后使用gcc编译器进行编译。

‘肆’ 怎么在linux下用vim编写一个C程序

一楼的回答很好,在编译的时候,其实可以不用退出VIM的,按ESC退出插入模式,在正常模式下输入:w保存,然后输入:!gcc /path/to/your/file.c就可以编译文件了,如果有错误,直接就在VIM中修改,要不然为什么VIM会被称为神器级的编辑器呢!

‘伍’ 如何将VIM配置成适用C语言的IDE

VIM默认支持C、C++等语言,无需特别配置 VIM仅能作为代码编辑器,不具有C或C++编译器功能,需要另外选择gcc或g++编译器

‘陆’ 怎样根据不同的语言调用不同的vim配置文件

如果 vim 能够识别某种语言的类型,那么就会加载和该类型有关的语言配置。如键映射、语法高亮等。

如果你想自己增加一些需要的配置文件,那么在 ~/.vim/ 下(windows 系统则是我的文档下的 vimfiles 文件夹下)增加配置文件即可(如果没有这个文件夹,自己创建就好,但名字一定不要搞错)。

这个文件夹下,还有如下子文件夹(依然没有就创建):

after/
autoload/
colors/
compiler/
doc/
ftdetect/
ftplugin/
indent/
keymap/
plugin/
syntax/

其中 ftplugin 用于你自己定义类型文件的扩展插件,ftdetcet 用来定义类型文件自动识别,indent 用于定义类型文件的自动缩进,syntax 用于定义类型文件的语法高亮。

如果你要定义 c 语言的特殊配置,文件名就要叫 c.vim。如果是 python,文件名就是 python.vim。

换言之,你想定义一组 c 言语键映射,就写一个叫 c.vim 的脚本(这需要不少技巧,需要学习一些编写 vim 脚本的知识),然后放到 ftplugin 里去。如果是想定义c语言的语法高亮,就写一个 c.vim 的语法高亮脚本,放到 syntax 里面。

由于 vim 已经自带了很多这样的脚本,(在 vim 的安装目录下,目录的组织形式和你自定义的一样),所以通常不需要自己配置太多。如果自己有需要,可以简单的加一些。



如果你的问题是指,某个语言文件没有被正确识别,那么可以了解下 vim 自动识别的过程:

首先 vim 根据文件的扩展名来判断文件的内容,比如 .c 就会认为是 C 语言文件。.py 就会认为是 python。.txt 就会认为是普通文本。

如果没有扩展名的文件,vim 也会通过文件内容来做简单的识别。这一般是扫描文件的开头数行(有些语言只扫描前5行,也有些会扫描几百行),看是否出现某种语言的特征。一但出现,便识别成相应的语言。但这发生在加载一个文件的时候。如果你是新建了一个没有扩展名的文件,那么之后再往里输入内容,vim 就不会再去识别了。


如果一个文件没有被识别,或识别错误。你也可以手动指定:

:setfc

来把之设置成你需要的语言。c 那里写实际语言的名字。如果你发现之后文件的内容正确的显示了语法高亮,那么就说明这个设置已经成功了。

‘柒’ 我想在vim中直接编译C语言请问怎样配置vimrc啊

"------------------------------------------------------------------------------
" < 编译、连接、运行配置 >
"------------------------------------------------------------------------------
" F9 一键保存、编译、连接存并运行
map <F9> :call Run()<CR>
imap <F9> <ESC>:call Run()<CR>
" Ctrl + F9 一键保存并编译
map <c-F9> :call Compile()<CR>
imap <c-F9> <ESC>:call Compile()<CR>
" Ctrl + F10 一键保存并连接
map <c-F10> :call Link()<CR>
imap <c-F10> <ESC>:call Link()<CR>
let s:LastShellReturn_C = 0
let s:LastShellReturn_L = 0
let s:ShowWarning = 1
let s:Obj_Extension = '.o'
let s:Exe_Extension = '.exe'
let s:Sou_Error = 0
let s:windows_CFlags = 'gcc -fexec-charset=gbk -Wall -g -O0 -c % -o %<.o'
let s:linux_CFlags = 'gcc -Wall -g -O0 -c % -o %<.o'
let s:windows_CPPFlags = 'g++ -fexec-charset=gbk -Wall -g -O0 -c % -o %<.o'
let s:linux_CPPFlags = 'g++ -Wall -g -O0 -c % -o %<.o'
func! Compile()
exe ":ccl"
exe ":update"
if expand("%:e") == "c" || expand("%:e") == "cpp" || expand("%:e") == "cxx"
let s:Sou_Error = 0
let s:LastShellReturn_C = 0
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
let Obj_Name = expand("%:p:t:r").s:Obj_Extension
let v:statusmsg = ''
if !filereadable(Obj) || (filereadable(Obj) && (getftime(Obj) < getftime(Sou)))
redraw!
if expand("%:e") == "c"
if g:iswindows
exe ":setlocal makeprg=".s:windows_CFlags
else
exe ":setlocal makeprg=".s:linux_CFlags
endif
echohl WarningMsg | echo " compiling..."
silent make
elseif expand("%:e") == "cpp" || expand("%:e") == "cxx"
if g:iswindows
exe ":setlocal makeprg=".s:windows_CPPFlags
else
exe ":setlocal makeprg=".s:linux_CPPFlags
endif
echohl WarningMsg | echo " compiling..."
silent make
endif
redraw!
if v:shell_error != 0
let s:LastShellReturn_C = v:shell_error
endif
if g:iswindows
if s:LastShellReturn_C != 0
exe ":bo cope"
echohl WarningMsg | echo " compilation failed"
else
if s:ShowWarning
exe ":bo cw"
endif
echohl WarningMsg | echo " compilation successful"
endif
else
if empty(v:statusmsg)
echohl WarningMsg | echo " compilation successful"
else
exe ":bo cope"
endif
endif
else
echohl WarningMsg | echo ""Obj_Name"is up to date"
endif
else
let s:Sou_Error = 1
echohl WarningMsg | echo " please choose the correct source file"
endif
exe ":setlocal makeprg=make"
endfunc
func! Link()
call Compile()
if s:Sou_Error || s:LastShellReturn_C != 0
return
endif
let s:LastShellReturn_L = 0
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
if g:iswindows
let Exe = expand("%:p:r").s:Exe_Extension
let Exe_Name = expand("%:p:t:r").s:Exe_Extension
else
let Exe = expand("%:p:r")
let Exe_Name = expand("%:p:t:r")
endif
let v:statusmsg = ''
if filereadable(Obj) && (getftime(Obj) >= getftime(Sou))
redraw!
if !executable(Exe) || (executable(Exe) && getftime(Exe) < getftime(Obj))
if expand("%:e") == "c"
setlocal makeprg=gcc -o %< %<.o
echohl WarningMsg | echo " linking..."
silent make
elseif expand("%:e") == "cpp" || expand("%:e") == "cxx"
setlocal makeprg=g++ -o %< %<.o
echohl WarningMsg | echo " linking..."
silent make
endif
redraw!
if v:shell_error != 0
let s:LastShellReturn_L = v:shell_error
endif
if g:iswindows
if s:LastShellReturn_L != 0
exe ":bo cope"
echohl WarningMsg | echo " linking failed"
else
if s:ShowWarning
exe ":bo cw"
endif
echohl WarningMsg | echo " linking successful"
endif
else
if empty(v:statusmsg)
echohl WarningMsg | echo " linking successful"
else
exe ":bo cope"
endif
endif
else
echohl WarningMsg | echo ""Exe_Name"is up to date"
endif
endif
setlocal makeprg=make
endfunc
func! Run()
let s:ShowWarning = 0
call Link()
let s:ShowWarning = 1
if s:Sou_Error || s:LastShellReturn_C != 0 || s:LastShellReturn_L != 0
return
endif
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
if g:iswindows
let Exe = expand("%:p:r").s:Exe_Extension
else
let Exe = expand("%:p:r")
endif
if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou)
redraw!
echohl WarningMsg | echo " running..."
if g:iswindows
exe ":!%<.exe"
else
if g:isGUI
exe ":!gnome-terminal -e ./%<"
else
exe ":!./%<"
endif
endif
redraw!
echohl WarningMsg | echo " running finish"
endif
endfunc

怎么用有注释,直接放到你vimrc文件的最后就可以

热点内容
c语言fread返回值 发布:2025-07-12 16:57:32 浏览:678
王者荣耀在哪里显示账号密码 发布:2025-07-12 16:36:42 浏览:898
打包sql数据库 发布:2025-07-12 16:19:27 浏览:796
php日志查看 发布:2025-07-12 16:12:10 浏览:214
ftp目录映射为本地盘符 发布:2025-07-12 16:06:59 浏览:645
nas存储百科 发布:2025-07-12 16:03:17 浏览:126
python的sort函数 发布:2025-07-12 15:53:21 浏览:50
ensp服务器怎么设置web根目录 发布:2025-07-12 15:47:56 浏览:286
安卓怎么设置二卡发信息 发布:2025-07-12 15:43:50 浏览:743
如何看到无线密码 发布:2025-07-12 15:43:13 浏览:677