为知笔记吧 关注:9,442贴子:71,713

【经验分享】所有用Markdown的朋友看过来

只看楼主收藏回复

这是前段时间《使用为知内置编辑器的正确姿势——普通笔记篇》的姊妹篇


1楼2017-03-03 12:27回复
    《使用为知内置编辑器的正确姿势——Markdown笔记篇》
    主要内容包括:
    - 为知内置编辑器的使用技巧;
    - 外置编辑器、第三方编辑器与为知的配合;
    - 相关观点的讨论
    本篇文本量是上篇的两倍以上,只要你是为知的Markdown用户,一定会对你有所启发。


    2楼2017-03-03 12:37
    回复
      前排支持。


      IP属地:广东来自手机贴吧3楼2017-03-03 12:38
      回复
        先贴个目录:
        * 为什么我会使用为知笔记的内置编辑器写Markdown?
        * 一些前期准备
        知识和思想的准备
        设置的准备
        其他设置
        * 书写时的功能
        清除样式、格式化文本、纯文本粘贴
        表格
        任务列表
        图片
        查找和替换
        * 外置编辑器功能
        * 极端用法(类OLE用法)
        以Word为例,使用OLE
        以Typora为例,使用类OLE方法书写Markdown
        * 总结
        * 对一些可能出现的疑问的解答
        * 最后的一点絮叨
        先吃饭去了,下午回来继续更


        4楼2017-03-03 12:40
        回复
          # 为什么我会使用为知笔记的内置编辑器写Markdown?
          使用为知笔记的都知道,akof1314大神给为知笔记写了一个很厉害的Markdown插件——Editor.md。其实我一开始也是使用它来进行Markdown书写,但是后来我遇到了一个问题,使用插件书写一段时间之后就会延迟严重。于是我开始寻找替代的方案,Typora、纯文本编辑器(如notepad++)和为知内置编辑器是我想到的3个方案,因为使用外部编辑器不可避免地遇到图片插入和兼容性问题,所以我决定从最简单的内置编辑器开始试试。经过一段时间的试用与摸索,我发现为知内置编辑器并没有我印象中的那么差,也能够很好地进行Markdown书写,之前遇到的一些问题(像插入网址自动转化链接)亦能有效规避。
          本人之前曾针对为知的Markdown功能发表过质问,还表示不会使用为知内置编辑器来书写Markdown。现在自掌嘴巴,并对为知表示歉意。为知对Markdown的改造与实现本体现了为知对Markdown的理解,不该过多置喙。现本人将本段时间来使用内置编辑器的经验体会汇成此文,与知友分享,希望大家对内置编辑器有一个更加全面的认识。


          5楼2017-03-03 13:34
          回复
            # 一些前期准备
            ## 知识和思想的准备
            在使用内置编辑器书写Markdown需要有充分的Markdown语法知识。在内置编辑器中,没有双栏的实时渲染、没有语法高亮、甚至没有行号,没有任何东西提醒你写的语法有没有出现语法问题。我们唯一能够依靠的是自己的眼睛和脑袋,我们只能用自己的眼睛来发现语法问题。所以在使用之前你应该掌握充分的Markdown语法知识。
            除了必要的语法知识,思想上的准备同样重要。一旦开始在内置编辑器中书写笔记(主要是指带图片的笔记),其实意味着这篇笔记往后只能使用内置编辑器书写。你不能使用任何外置纯文本编辑器或专门的Markdown编辑器去编辑它,你甚至不能使用Editor.md插件来修改它。虽然一些html编辑器是可以用,但是我相信这种作死的行为大家不会采取。所以你要记住,不管你往后遇到多么优秀的编辑器,都与你的这篇笔记无缘。这篇笔记在从被内置编辑器写出的那一刻就已经以身相许了。为了防止手贱,本人已经把外置编辑器清空了。
            我说的话可能有些重,那都是为了避免你在日后使用过程中出现的一些恼人的事情(图片丢失之类)。实际上如果你有外置图床,或者笔记没有图片的需求,又或者不在意重复劳动,那么你完全可以不必在意上面我所说的话。


            6楼2017-03-03 13:42
            回复
              ## 设置的准备

              首先,要看看Tab的键值,如果不是4个空格,就需要修改成4个。
              然后“杂项”中的选项都去掉勾子,这些大都是针对普通笔记的,对于Markdown书写只会造成干扰。最一开始本人就是因为不知道去掉“网址自动转化链接”的选项,每次插入网址都自动生成链接,影响Markdown书写,所以弃用了内置编辑器。
              最后的“默认字体设置”,请根据个人习惯调整,在书写时主要以黑漆漆的文字为主,所以尽量为自己营造一个舒服的书写环境,眼睛舒服,内心也舒服。
              编辑器的工具栏虽然在Markdown书写只能用到少部分几个,但是根据需要进行重新排布可用用的更顺手:

              我的工具栏方案是为了同时兼具了普通笔记和Markdown笔记的书写。
              为了让书写得到更好的体验,我们再进行一下设置(非必须,只是我的经验):

              双击进入笔记编辑模式,可以提高效率:

              设置焦点,阅读模式中光标的定位可以直接用到编辑模式中(实际上勾不勾选好像都会得到这样的设定)。
              Ps:大家应该知道最后这个主要是针对普通笔记的,不是针对Markdown笔记的,Markdown笔记每次打开都会定位在开头。而且一般Markdown的字会比较小,我觉得这样体验不好,所以我觉得应该将普通笔记中的这个体验利用好。其实就是在Markdown笔记正式书写完之前,将它当作一篇普通笔记。具体说就是在书写完成之后,最后才给Markdown笔记标题填上.md后缀,看一下文章有没有纰漏的地方(包括语法错误)。在没有写完之前,不添加.md后缀。
              这样有什么好处,当我们中途脱离写作之后,比如写作中途休息或吃饭之后,我们可以快速回到我们的写作当中,回来的时候还可以顺便快速浏览一下有没有觉得值得修改的地方,对于一个熟悉Markdown语法的人来说,阅读一份Markdown纯文本应该不成问题,更何况是为知这种图文并茂的Markdown文档。当然这个只是针对我的书写环境,因为我的一份文章往往不是一个集中的时间点写出来的,而是分散在不同时间写出来,所以我觉得这种方法更加适合我。大家可以根据自身需求选择,要不要采取我的方法。


              7楼2017-03-03 13:52
              回复
                ## 其他设置
                我讨厌切换中英文。大部分时候,Shift大部分都是组合其他键来当快捷键使用,养成习惯了,单独用来切换中英文让我觉得很别扭。而偏偏Markdown语法中有点符号中文状态下无法录入,比如反引号`。所以我还会在输入法中自定义一下短语。我使用的输入法是Win10自带的输入法,简单,原生态(但这个输入法有一个问题,就是当我一天敲字太多的时候,它就会罢工,在所有软件中都无法输入并且卡顿,需要重启一下才能恢复,如果有人知道解决办法请告知,谢谢)。

                我会将代码的拼音中加入3个反引号,这样不管书写行内代码还是区块代码都方便。大家不要在意我这里的拼音怎么这么奇怪,我用的是双拼,不是全拼。对一些符合进行输入法的短语定义后,之后只要敲代码的拼音,就会出来3个反引号:


                8楼2017-03-03 16:26
                回复
                  # 书写时的功能
                  完成这些准备之后,我们就可以进行正式的书写。新建一份笔记,添加标题但是不加.md后缀。我习惯一开始先列标题,这是对思维的梳理,而且在书写时大纲功能是失效的,把标题列出来也可以防止后面分不清楚标题的层级(在此我强烈要求为知更新大纲插件,让其兼容Markdown中的标题)。列标题我习惯从二级标题开始,因为一级标题往往需要留给笔记的大标题。
                  ## 手动语法高亮与混搭
                  这里还有一种,高级(奇葩)用法,当我们对标题和大纲有特殊要求的时候,可以用这种的方法,就是用Markdown语法写完标题之后,在用样式表将其定义为对应的标题,这样既能实现大纲,又能让标题从内容中脱颖而出,我将这种不中不西的标题填加方法戏称为“手动语法高亮”,这种做法不会影响最后的md输出。

                  这种方法虽然四不像,极度违和,却能有效地增加Markdown语法的可读性,也能激活大纲功能。缺点是操作繁琐,所以这种混搭的方法一般只用于内容太多将标题淹没的情况。同样的,书签功能你也是可以用,比如在笔记中间需要插入一段内容,而我们刚好写到一半,被打断,添加书签然后保存笔记,回头再写就行,这里添加的书签渲染后不会出现,只有你知道。现在你知道了混搭,你就可以自己开发出更多不同的为知式Markdown玩法,让你的书写更加高效,比如多人合作时,阅读别人的Markdown就可以在重要的部分添加文字背景色,就像做书本阅读时做的一样,这些都只有作者编辑的时候可以看到,最后渲染完都会消失。
                  有点扯远了,回到正题。真正的书写大家只要按照Markdown语法来就行,我之前写过一篇Markdown语法书写建议,那是针对一般的Markdown书写,不限于为知,可以作为参考。地址:https://tieba.baidu.com/p/4966372430?pid=103511580068&cid=0&red_tag=2019439502#103511580068(看第四章:Markdown书写建议)
                  接下来要说一下内置编辑器中能用到功能。


                  9楼2017-03-03 16:46
                  回复
                    感谢楼主分享,期待更新!


                    10楼2017-03-03 18:41
                    收起回复
                      清除样式、格式化文本、纯文本粘贴
                      这几个在普通笔记篇已经说的比较清楚,大家可以去翻阅。其中用的最多的是纯文本粘贴和清除样式,纯文本粘贴,就是Ctrl+Shift+V,主要用于从其他地方(比如网页)复制粘贴文字,既然是Markdown笔记就尽量让它没有样式上的干扰。清除样式主要是用于清除粘贴过来的文本中的格式或者清除上面被我们所说的混搭方法玩坏的文本,有的富文本我们可能希望保留它的一部分格式,这时候可以粘贴过来,然后在重要的部分添加markdown语法(比如强调),之后再用清楚样式将其变成纯文本就行。当然纯文本粘贴是最保险的。
                      表格
                      表格功能一直是影响Markdown书写的老大难问题。为知除了兼容简单表格语法,还允许用所见即所得的方法插入表格(所谓所见即所得就我们编辑时看到的样子就是最后渲染后的样子),这样我们可以很方便地插入和书写表格,不用每隔几个字就敲一个竖线。而且表格可以是高级表格,单元格内多行书写没问题,嵌套其他内容没问题,合并单元格也是妥妥的。
                      任务列表
                      为知不支持任务列表的语法,但是不代表我们不能在Markdown笔记中使用它,为知用所见即所得的方法实现了它。为知不支持任务列表是有道理的,这样不管普通笔记还是Markdown笔记,它们中的任务列表都可以得到统一的管理。不过目前还没有这样的一个功能,未来可能会有,比如与桌面端的任务列表联动之类的。对了,它的快捷键是Ctrl+O


                      12楼2017-03-04 20:55
                      回复
                        ## 图片
                        为知支持Markdown中的图片语法,但是现在只能用于网络图片的插入。对于本地的图片,为知提供了自己的方法, 内置编辑器有3种插入图片方法——本地图片插入、截屏和手机传图。这里主要说一下我插入本地图片的方法和习惯。
                        因为之前使用Editor.md插件的时候出现过丢图片的情况,到现在依然对插入图片这件事情有心理阴影。所以为了万全,我习惯都会将文章中用到的图片在附件中保存备份。这样做除了保险,还有一个优点,当我们在网络上发布文章的时候经常需要重新上传图片并进行一一调整,有了附件,查找图片的时候就比较方便。当然这不是必须的,但是摔过跤,怕疼。
                        既然要上传附件栏,那么图片在插入之前传还是之后传附件栏,这是个问题。
                        - 图片先传附件栏。这样需要先把可能用到的图片都先收集好,最好将名字也修改好,方便查找,然后统一放到附件中。在需要插入图片的地方,只要把图片从附件栏拖过来就行。
                        - 图片后传附件栏。这样插入图片的时候我们就更加方便和随心——手机传图、屏幕截图、图片拖拽、复制粘贴统统用起来。在文章写完之后,统一放入附件栏备份。
                        怎么找到文章中图片?这里提供一个小方法:
                        1. 随便找一张笔记中的图片,右键——复制图片:

                        2. 出现的弹窗中不能直接选图片,我们只要把地址复制出来就好:

                        3. 打开资源管理器,将图片地址粘贴,就能找到文章中的图片了:

                        ## 查找和替换
                        这两个工具很有用。比如当我们需要统一修改标题的层级怎么办?可以用查找和替换。需要注意的是查找会自动从文章开头查找,而替换只会从当前位置向下查找,如果使用替换,记得将笔记拖到开头再开始。


                        13楼2017-03-04 20:58
                        回复
                          ## 外置编辑器功能
                          我前面说过不使用插件的情况下,有3个替代方案:Markdown编辑器(如Typora)、纯文本编辑器(如notepad++)和为知内置编辑器。在不考虑图片或有网络图床的情况下,外置编辑器也是一个可选的方案。Markdown编辑器其实可以看作一种特殊的纯文本编辑器,我们放到一起讨论。这里用自带的“记事本”给大家演示一下:
                          1. 先要把记事本添加到外置编辑器中,打开【编辑选项】-【添加】

                          2. 记得勾上【文字编辑器】:

                          3. 然后调用记事本打开,两窗口平铺:

                          外置编辑器最大的好处是可以得到外置编辑器的书写体验,不需要改变自己的习惯。 而且与内置编辑器相比,外置编辑器更方便预览,每次【Save】,为知的预览都会刷新,虽然比不了实时渲染,但也很方便了。与插件相比,用外置编辑器可以用加标签、附件等,而这些是插件作不到的。
                          有人会想到,不用外置编辑器功能,直接用第三方书写工具写好,之后再把MD代码复制到为知中。这样的方法跟上面外置编辑器的体验差不多,但是笔记修改时会不方便,又会用到内置编辑器修改。这样需要适应两种不同的书写体验,只适合小修改,或者不打算修改的文章。
                          前面说了,外置编辑器功能只适合无图片或有网络图床的情况,现在仍有很多知友希望用外置编辑器写带图片的md笔记。我这里不会推荐任何方法,包括插件。如果我说用Word也能写出带图片的md笔记,你造吗?我在《普通笔记篇》中说过,“尽量不要用多个编辑器修改同一篇笔记,这是对自己的笔记负责”。这个说法一样适用于MD笔记。我以前也折腾过图片的问题,但是经验告诉我鱼与熊掌不可兼得。我还曾经给为知提过优化的建议,摘录如下:
                          > 图片插入。前面说过图片插入的问题,HTML式的插入图片破坏了Markdown纯文本特性。那有没有方法,既能满足Markdown语法,又不破坏现有的HTML文件框架,甚至可能被外部纯文本编辑器编辑过后不掉图?我有个idea不知道可不可行,供参考。首先图片依然存放在'\index_files\……'路径下,编辑器中新增一个板块专门管理和查看'\index_files\……'下的图片(这里暂且将这个板块称为图床),然后图片Markdown语法使用参考式。每当在图床中添加图片,会在Markdown文档最后添加一个参考id,id为图片名字。用户想添加图片的时候,使用参考式图片语法![][id]即可插入图片。如果将图片直接拖拽到Markdown文档,会在图床和'\index_files\……'路径下添加图片,同时在Markdown文档中插入一个完整的参考式语法。图床最好会锁定'\index_files\……'下的图片,只有在图床中删除图片,才能让图片从'\index_files\……'中删除。如果想使用外部编辑器,只要先把需要用到的图片放到图床,然后调出外部编辑器,使用参考式语法就可以同样插入图片。另外还能让用户在图床中对图片进行放大查看、修改和替换。我觉得这是个难度少,但是受益巨大的做法,请为知认真考虑。
                          当然可能有更好的方法,但是现在我都是用内置编辑器,所以图片问题都变成云烟了。外置编辑器和插件书写体验好,代价是折腾(操作频繁)和不稳定。而内置编辑器刚好相反,用一般的体验换取笔记的稳定和操作的便捷。具体选择全看个人的权衡了。至于高不高效,我觉得这是见人见智的。就我的体验而言,内置编辑器是可以用得很高效的。


                          14楼2017-03-04 21:02
                          回复
                            极端用法(类OLE用法)
                            ===================
                            最后说个极端用法,可能只有我自己在用,这里我把它公布出来。虽说是极端用法,但是其实是大家平时经常会不经意使用的方法。说极端是因为这个用法舍弃了为知的编辑功能,无论内置还是外置编辑器。
                            1. 用第三方软件写好;
                            2. 然后把内容复制或者导入到为知笔记;
                            3. 把第三方编辑器保存得到的文档(如doc、md和它的图片等)放到笔记附件中;
                            4. 需要修改的话打开附件中的文档修改;
                            5. 用修改后的内容覆盖原来的内容。
                            这样就把编辑和阅读完全割裂开,边缘化了为知的编辑功能,让为知只作一个阅读工具,而把编辑都交给第三方软件。为知对doc和pdf的OLE预览功能,也是采用了阅读与编辑分离的思路。这个方法灵感就是源于OLE功能,这方法是就无所谓Markdown笔记了还是普通笔记了,都一样。这种方法因为规避了前面所说的“多个编辑器修改同一篇笔记”而产生的各种问题,所以极大地保留了笔记的完整性和书写体验。同时由于无需使用为知的MD编辑功能,所以不用考虑为知语法与编辑器MD语法的兼容性,这样可以最大幅度释放第三方MD编辑器的功能。当然缺点也很明显,就是操作繁琐。但是对于带图片的笔记,比起用外置编辑器折腾图片,我更加推荐这种方法。


                            15楼2017-03-04 21:09
                            回复
                              以Word为例,使用OLE
                              ---------------------------------------
                              这个部分其实跟Markdown没有什么关系,单纯以此为例说明编辑阅读相分离的书写方法。
                              1. 【选项】-【office类型笔记】,勾选OLE查看功能:

                              2. 用Word写好内容,把docx文件托到为知笔记左栏相应的目录中,等待导入完成即可。(注意OLE功能对office版本有要求,尽量用最新的Word2016)

                              3. 需要修改笔记的话,双击附件docx文件,用Word修改:

                              PS:xlsx和pdf的文件同样适用这种OLE方法。


                              16楼2017-03-04 21:12
                              回复