我在linux下使用vi打开一个文件后,然后保存关闭,结果发现最后多出一个字符,估计是回车符什么的

但我用vi打开却看不到这个回车符。请问用shell如何去掉这个文件中的最后这个字符?因为会影响我编译程序

先用ls -l查看文件大小,例如源文件为8字节,用VI编辑后变成了9字节。
这一般是VI在最后加了个‘\n’字符,可以用objdump -c 文件名 查看最后的字符到底是什么。
用truncate -s 8 文件名 把文件截断至8字节即可。

不过'\n'不会影响程序编译吧,但是回车^M这个字符在VI里面是可见的。
如果是^M就用VI命令 :%s/^M//g 回车
注意:里面的^M 必须是同时按 Ctrl+V+M ,表示回车
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-22
大写的X

删一个字符是x(小),
删除当前光标左边的字符是X(大)
删一个词是dw,
要学vi的话建议过一遍 vimtutor,这样vim基本使用就差不多了
直接终端下vimtutor就行了,ubuntu下可能会有乱码问题,你可以网上下载中文版的或 vimtutor en 使用英文版的
第2个回答  2011-01-23
在linux下编辑文件是不能加入"^M"吧? 这个"^M"是在Windows的下的编辑器加入的回车符吧.
这涉及到dos文件格式和Unix文件格式的问题了, 自己去百度查查吧.
要是影响编译的话,估计你加入的是中文字符或是什么其他的乱字符,因为"^M"是不影响编译(by gcc)的.

我在linux下使用vi打开一个文件后,然后保存关闭,结果发现最后多出一个...
先用ls -l查看文件大小,例如源文件为8字节,用VI编辑后变成了9字节。这一般是VI在最后加了个‘\\n’字符,可以用objdump -c 文件名 查看最后的字符到底是什么。用truncate -s 8 文件名 把文件截断至8字节即可。不过'\\n'不会影响程序编译吧,但是回车^M这个字符在VI里面是可见的。如果是^M就用...

linux 中用vi 命令查看文件,为什么文件中每一行的结尾会出现两个^M...
那是windows系统的标志,是换行符的意思,但在linux下识别不出来。windows创建的文件是 \\n\\r结束的, 而linux,mac这种unix类系统是\\n结束的。 plo154100 | 发布于2010-08-21 举报| 评论 1 0 这个文件有可能是通过windows打开过用ASCII上传的,不是二进制文件,如果用二进制上传一般就没有这个 jiaqibaby | ...

在linux中,我用VI编辑一个文本。然后卡了!我重启后出现如下代码!如何...
你编辑的文件应该是 \/home\/doyoo\/jboss-4.2.2.GA\/server\/default\/deploy\/oracle-ds.xml,那么进入 \/home\/doyoo\/jboss-4.2.2.GA\/server\/default\/deploy,执行ls -a命令,你会看到一个.oracle-ds.xml.swp(前面有一个点),执行rm -rf .oracle-ds.xml.swp命令,把这个文件删掉(放心,你原...

linux vi打开文件出现的信息是什么意思?要怎么操作
我的情况对应情形2,应该是系统的保护机制,让我用:recover 或者vim -r test去恢复更改,猜测swap文件保存的就是上次编辑崩溃时的修改内容 注意,recover选择 按钮R,再选择D删除隐藏的swap文件

linux vi保存退出命令(如何退出vi)
当你使用vi打开一个文件时,首先在命令模式下输入文件名,如果没有,vi会自动创建。进入编辑模式是关键,通过按下"a"键实现,这样你就可以开始输入内容了。编辑完成后,别忘了保存。首先在命令模式下按"esc"键返回,然后输入冒号":",进入末行模式。在这个模式下,你可以选择保存操作。"x"命令会保存...

linux vi保存退出命令 (如何退出vi)
当使用vi编辑器时,打开文件的步骤如下:首先,键入"vi 文件名",按回车。若文件不存在,vi会自动新建一个。此时,你将进入命令模式。在命令模式下,按"a"键可切换到可编辑状态,开始进行内容编辑。完成编辑后,要保存文件,先按"esc"键返回命令模式,然后输入冒号":"进入末行模式。在末行模式中,...

linux vi保存退出命令 (如何退出vi)
1.如图,vi 文件名,接着按回车即可打开对应的文件,如果没有对应的文件,那么vi命令就会自动创建一个新的。2.如图,vi打开文件后是命令模式状态,要用i或者a命令才可进入可编辑的状态哟。这里我就按a进入了编辑模式了哦。3.如图,在编辑模式的情况下敲完内容,这个时候就应该保存文件了。保存文件要...

我在liunx中用vi 修改inittab的id后保存退出时会显示E492:Not an edito...
1、首先在liunx中输入vi文件名,按回车即可打开对应的文件,如果没有对应的文件,那么vi命令就会自动创建一个新的。2、vi打开文件后是命令模式状态,在编辑模式的情况下敲完内容,这个时候就应该保存文件了。保存文件按esc,就会退回vi命令模式。3、按完esc后输入冒号,就转换到了末行模式,末行模式决定...

LINUX常见问题20个
比如我们想删除\/temp目录下的文件却将命令不小心输成“rm \/ temp(在‘\/’后多了一个空格)”,那么就极可能删去根目录下的所有文件。再者,“Linux是一个真正意义上的多任务、多用户系统”,不体会一下Linux的特色岂不可惜。为了方便自己和别人使用,就在Linux系统下多建几个用户吧。 输入“adduser newuser”,...

linux系统使用vi命令进入文件后怎么修改保存
1、查看目录下文件file.txt的内容,使用cat file.txt(ls \/\/ 表示查看当前目录下的文件目录 ; cat file.txt \/\/ 表示查看该文件的内容)发现内容是hello world 2、使用vi file.txt 进入到编辑界面,如下所示:3、进入到编辑模式,按键i,此时可以移动光标到想修改的位置,同时我们修改内容如下:(注意...

相似回答