分页: 1 / 2

可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 21:37
luvemcu
看插图,第一个问题:

在文中Normal模式下,j 就往前跳一个行(段落),就是从图中的“我”会跳到"谈",再 j 会跳到“而”,在DOS/windows中,就是一个 j 就jump到下一个以回车换行结束的段落(行),在linux下呢?

当段落在屏幕上超过一行的情况下,要在段落中浏览只能一步一步的 h l 下去。怪不得看见的很多文章都是一个段落中,第一行错2个字,然后到折行的地方回车换行另起一个段落,然后是一整行,再然后到......

不会是这样的吧?

第二个问题,我还没学会,如何删除一个段落与段落之间的换行符号,也就是将两段落缩成一段落,如图中将“这里的第一个问题,就是程序的内存使用。”连接到“改善用户体验。”之后。

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 21:41
luvemcu
看看图,这就是问题所在的1,2
问题的示例图片
问题的示例图片

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 21:48
Strange
楼主的问题,我连续读了5遍,还是没能明白

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 21:55
luvemcu
呵呵,看见图中3个黑圈了吗?

如果光标在每行(段落,我不知道该怎么样叫了)的开头,j 就到下一个黑圈处了。

如果这一行(段落)有一万字,屏幕上每行显示20个字的话,j 一下最多可能光标移动到屏幕上的500行以外去。

要在行(段落)内移动光标,只能靠 h , l 移动

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 21:58
remeber
意思j 只能进行段落移动。不能行内移动 or else?

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:28
luvemcu
vim的一“行”就是以回车换行符结束的一大堆字母符号、中文、日文...,跟我们俗人理解的屏幕上的一行是不一样的。

要是我们把一大堆成百上千的文字堆砌在一起,以输入enter结束,vim就把他们当成一行,虽然在屏幕上显示哪怕50行,100行,任何时候 j, k都会跳出这一行。要想在这行内浏览,只能靠 h,l 一个字符by一个字符的移动,这样一到哪一天?

vim大牛们,是这样的嘛?

如果我的理解没错,要用vim写文章,就有点困难了。只能用来写代码,因为代码中很少有超过一个显示行的,浏览移动起来很方便。

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:31
acer4740
行太长了,一行就是一段吧

试试

代码: 全选

gj
gk

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:33
luvemcu
acer4740 写了:行太长了,一行就是一段吧

试试

代码: 全选

gj
gk
谢谢,明白了:

g+j
g+k

在屏幕显示行中移动。

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:35
luvemcu
没看明白我得困境的朋友,下载附件的文章,用vi打开看看就知道了。
clinton.txt
(7.92 KiB) 已下载 82 次

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:37
luvemcu
acer4740 写了:行太长了,一行就是一段吧

试试

代码: 全选

gj
gk
另外,acer同学,怎么删除行么的回车换行,将两行合并为一行呢?


等我再学会拷贝粘帖,我就掌握了基本的vim操作,可以用它写文字了。

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:50
acer4740
luvemcu 写了:
acer4740 写了:行太长了,一行就是一段吧

试试

代码: 全选

gj
gk
另外,acer同学,怎么删除行么的回车换行,将两行合并为一行呢?


等我再学会拷贝粘帖,我就掌握了基本的vim操作,可以用它写文字了。

代码: 全选

J
注意阿,是大写的J

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:52
remeber
删除行么的回车换行,将两行合并为一行呢
J

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-14 22:59
luvemcu
acer4740 写了:
luvemcu 写了:
acer4740 写了:行太长了,一行就是一段吧

试试

代码: 全选

gj
gk
另外,acer同学,怎么删除行么的回车换行,将两行合并为一行呢?


等我再学会拷贝粘帖,我就掌握了基本的vim操作,可以用它写文字了。

代码: 全选

J
注意阿,是大写的J

Bingo!

就是 Shift + j

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-15 9:18
fanhe
长行处理是vim的软肋
作者表示,你不应该用长行,于是无视
于是我备用这scite看长行的东东

Re: 可恶的vim,是往前 j 一行还是一个段落?

发表于 : 2011-04-15 12:44
lilydjwg
acer4740 写了:行太长了,一行就是一段吧

试试

代码: 全选

gj
gk
Vim 中的段落不是这样子的。默认情况下以空白行分隔的若干行为一个段落

代码: 全选

:h paragraph
行内移动可以用 f/t 之类的。或者 45l 这样。当然,%!sed G 后再 ggQG 下也不错。