我使用的是Ubuntu Linux 10.04。我使用vim进行大部分开发,使用CodeBlocks进行调试。当我第一次从Windows迁移到Linux时,我注意到vim为换行符显示^Ms,并发现这是Microsoft的问题。但是,即使在删除它们之后,我也注意到它们有时会重新出现在文件中(我想是在CodeBlocks中编辑的文件?)。
我的分析正确吗?我该如何解决这个问题呢?
我在x86_64 GNU/Linux上运行IBAMR模型(一组用于解决沉浸式边界问题的代码)。启动配置文件名为input2d。当我用vi打开它时,我发现:
"input2d“插头251L,11689C
如果我编译IBAMR模型而不保存input2d,它将编译并运行良好。但是,如果我保存input2d,编译器就会崩溃,并说:
Warning in input2d at line 251 column 5 : Illegal character token in input
显然,这与unix在文件末尾添加换行符有关。这是我的问题:在unix系统上,如何在vi中以dos格式保存此文件,并且
众所周知,DOS/Windows文件中的行尾与Unix/Linux中的行尾不同,所以每当我打开使用Windows创建的文件时,我都会看到每行后面都有成百上千个^M。许多人建议使用以下方法来解决此问题:
set fileformat=dos
我尝试过这个方法,但它不起作用,因为据我所知,它告诉Vim如何“保存”文件,而不是如何“读取”文件。我想要的是保持行尾的原样,无论是Linux、Windows还是MAC,正确地读取它们,并在编辑后使用相同的格式保存文件。
有什么想法吗?
vim可以识别以行开头或仅跟在空格字符之后的注释,如下图所示。
// This is recognized as a comment by vim.
// Pressing <Enter> continues the comment on the next line.
{
// vim will also automatically format these comments if they exceed textwidth
// characters in length.
}
但是,当注释跟在代码后面时,vim似乎无法识别它,从而无法在下面的代码行中添加注释前导。
DoS
文件是
当我使用cat -A drug-disease_TTD2013.txt时,它会在每一行的末尾显示^M$。在vim中,set list和它只显示了没有^M的$。
sed 's/\r//' drug-disease_TTD2013.txt >1.t可以让它变得一样。但我不知道为什么?(订正)
同样在“猫手册”中:-v use ^ and M- notation, except for LFD and TAB,这意味着什么?
中的情况不同
谢谢。
我已经开始为一个项目做Opencl了。我想使用我最喜欢的编辑器vim进行开发,并从vim.org下载了一个opencl.vim文件,并将其放在vim的语法目录中。
当我试图打开任何.cl文件时,我从vim中得到这个错误。有人能帮我一下吗:
Error detected while processing /usr/share/vim/vim72/syntax/opencl.vim:
line 5:
E492: Not an editor command: ^M
line 6:
E15: Invalid expression: version < 600^M
line 159:
并非Vim中的每个命令都允许您添加行尾注释。有时候,"作为一个参数是有效的,所以它是不明确的。但是,,,如果插入管道,则命令结束,您可以插入注释。因此,您实际上可以在vim中实现可靠的行尾注释:
noremap ' ` |" Use single quote as alternate range key
很干净,对吧?但是syntax/vim.vim文件不承认这是行注释的结尾。我如何告诉Vim识别这个语法?
我在syntax/vim.vim里找到了这个
syn match vimLineComment +^[ \t:]*".*$+ contains=@v
我复制了SeisUnix(SU)的shell脚本,这是一个基于Linux的地震处理程序。
#! /bin/sh
#File: Nmigcvp2.sh
# Create one panel for each migration velocity
# Each panel has the same "fldr" value
# The migration velocity is in key "offset"
# Total number of panels is in key "nvs"
# Set
我在本地的git里面有几个源文件。这些文件是从远程git回购中提取的。当我执行"$git状态“时,我会看到以下内容:
$git status
# On branch master
nothing to commit, working directory clean
但是,当我编辑任何源文件(使用vim或gedit)时,^M总是被添加到我添加的行的末尾。换句话说,在我做了这些修改之后,我看到了以下几点:
$git status
# On branch master
# Changes not staged for commit:
# (use "git add <
我正在VMBox上运行Ubuntu20.04,并试图最大限度地利用Vim。因此,我按照下面的指南安装不同的插件,从gruvbox开始。不幸的是,gruvbox和任何其他插件都不起作用,尽管我遵循了这封信的指南。下面是我的主文件夹中的.vimrc文件:
call plug#begin()
" This is where we will add plugins to install
Plug 'morhetz/gruvbox'
call plug#end()
colorscheme gruvbox
以下是错误消息:
Error detected while proce