将标记内的多行粘贴为单独的行 - Sublime文本

Gru*_*ber 20 copy-paste line tabular sublimetext2

我必须在html页面中设置一个title/authors项目列表,每个标题/作者行都在<li>这里:

<ul>
  <li> title name - <em>author name</em></li>
  <li> title name - <em>author name</em></li>
  <li> title name - <em>author name</em></li>
  and so on...
</ul>
Run Code Online (Sandbox Code Playgroud)

他们给了我一个包含两列的Excel文件,一列用于标题,一列用于作者,大约90-100行.

获得<li>如上所述的列表的最佳和最快捷方式是什么?(我使用Sublime Text 2)

只需在Sublime Text 2中复制/粘贴,每个标题/作者行都有一个单独的行,就像这样

title name author name
title name author name
title name author name
Run Code Online (Sandbox Code Playgroud)

没有其他的..

我可以轻松地将<li>thx中的每一行包裹到:

  • 菜单选择 - > 拆分成行(Cmd/Ctlr + Shift + L)

    并键入标签,但后来我坚持以一种自动方式插入标题后的短划线( - )和<em>s作者.

    我最好的猜测是(但我真的不知道该怎么做)找到一种方法来复制/粘贴一堆线,然后将它们粘贴到每个光标所在的位置,每个光标都是这样一个单独的线(考虑|为光标):

    *copy* authors name as single lines
    
    |author name1
    |author name2
    |author name3 
    |author name4
    
    *paste* authors as single line each where the cursor "|" stands
    
    <li>title name - <em> |author name1 </em></li>
    <li>title name - <em> |author name2 </em></li>
    <li>title name - <em> |author name3 </em></li>
    <li>title name - <em> |author name4 </em></li>
    
    Run Code Online (Sandbox Code Playgroud)

    不幸的是,实际发生的事情(在崇高文本2中)是这样的:

    <li>title name - <em> |author name1
                           author name2
                           author name3 
                           author name4 </em></li>
    <li>title name - <em> |author name1
                           author name2
                           author name3 
                           author name4 </em></li>
    <li>title name - <em> |author name1
                           author name2
                           author name3 
                           author name4 </em></li>
    <li>title name - <em> |author name1
                           author name2
                           author name3 
                           author name4 </em></li>
    
    Run Code Online (Sandbox Code Playgroud)

    所有复制的行只是粘贴在每个光标的块中

  • Ric*_*tti 46

    您可能只需要验证复制到剪贴板的行数是否与使用CMD+ SHIFT+ 拆分的行数相匹配L.

    如果它们匹配,Sublime Text会按预期运行,将每个源行复制到每个目标行(至少在我的机器上... :).

    • 谢谢你的回答.对于像我一样苦苦挣扎的人,如果行数不匹配,你会发现它贴了*n*份,其中*n*是所选行数.因此,如果您选择了10行,并且剪贴板中有11行,则最终会得到10 x 11 = 110行.故事的道德:确保它们匹配. (7认同)
    • 如果 1:1 粘贴不起作用,因为您正在复制多行选区,请在复制之前尝试使用“Command+J”将选区加入到 1 行中 (2认同)