文本编辑器
Posted 0x1e61
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本编辑器相关的知识,希望对你有一定的参考价值。
vim编辑器
检查vim软件包
[root@Wesuiliye ~]# which vim
/usr/bin/vim
[root@Wesuiliye ~]#
[root@Wesuiliye ~]# ll /usr/bin/vim
-rwxr-xr-x 1 root root 2337208 Dec 16 2020 /usr/bin/vim
[root@Wesuiliye ~]#
如果有多个连续的链接文件,其实犯不着多次使用
ls -l
命令来查找一系列链接文件的最终目标,改用readlink -f
命令即可。
vim基础
vim编辑器在内存缓冲区中处理数据。
vim flie_name
如果在启动vim时未指定文件名,或者指定文件不存在,则vim会开辟一段新的缓冲区进行编辑。如果指定的是已有文件的名称,则vim会将该文件的整个内容都读入缓冲区以备编辑
最初的vim编辑窗口显示了文件的内容(如果有的话),在窗口底部还有一行消息。如果文件内容并未占据整个屏幕,则vim会在非文件内容行放置一个波浪号(~)
根据文件的状态,底部的消息行显示了所编辑文件的信息以及vim安装时的默认设置。如果文件是新建的,那么会出现消息[New File]。
vim编辑器有3种操作模式。
·命令模式
·Ex模式
·插入模式
命令模式
初时状态就是命令模式,在命令模式中,vim编辑器会将按键解释成命令。
命令模式下,可以用方向键在文本区域中移动光标。也可以用
·h:左移一个字符。
·j:下移一行(下一行文本)。
·k:上移一行(上一行文本)。
·l:右移一个字符。
·PageDown(或Ctrl+F):下翻一屏。
·PageUp(或Ctrl+B):上翻一屏。
·G:移到缓冲区中的最后一行。
·num G:移到缓冲区中的第num行。
·gg:移到缓冲区中的第一行。
插入模式
vim会将你在当前光标位置输入的字符、数字或者符号都放入缓冲区。
按下i
键就可以进入插入模式。
要退出插入模式并返回命令模式,按下Esc
键即可。
Ex模式
要进入Ex模式,在命令模式中按下冒号键(:)即可。
Ex模式中的以下命令可以将缓冲区的数据保存到文件中并退出vim。
·q:如果未修改缓冲区数据,则退出。
·q!:放弃对缓冲区数据的所有修改并退出。
·w filename:将文件另存为其他名称。
·wq:将缓冲区数据保存到文件中并退出。
编辑数据
在命令模式中,vim编辑器提供了可用于编辑缓冲区数据的命令。
有些编辑命令允许使用数字修饰符来指定重复该命令多少次。比如,命令2x会从光标当前位置开始删除两个字符,命令5dd会删除从光标当前所在行开始的5行。
注意 在vim编辑器的命令模式中使用Backspace键(退格键)和Delete键(删除键)时要留心。vim编辑器通常会将Delete键识别成x命令的功能,删除光标当前所在位置的字符。通常,vim编辑器在命令模式中并不将Backspace键视为删除操作,而是将光标向后移动一个位置。
复制和粘贴
当vim删除内容时,实际上会将数据保存在一个单独区域内(寄存器),你可以用p命令从中取回数据。
dd
命令删除一行文本
p
命令会将文本插入光标当前所在行之后。
y
(代表yank)是复制命令。
在y之后使用另一个字符(yw表示复制一个单词,y$表示复制到行尾)。
v
键可视模式会在光标移动时高亮显示文本。
查找和替换
按下正斜线(/)键。在输入要查找的文本后,按下Enter键。vim编辑器会执行下列三种操作之一。
·从当前位置往下搜索,能找到就光标跳转到出现的第一个
·从当前位置往下搜索,没有找到就会报一个search hit BOTTOM, continuing at TOP回到顶部再从下搜索
·输出一条错误消息,说明在文件中没有找到要查找的文本。
如果要继续查找同一个单词,按/键,然后再按Enter键,或者按n键,表示下一个(next)。
Ex模式的替换命令允许快速将文本中的一个单词替换成另一个单词。
替换命令的格式是:s/old/new/。vim编辑器会跳到old第一次出现的地方并用new来替换
·:s/old/new/g:替换当前行内出现的所有old。·:n,ms/old/new/g:替换第n行和第m行之间出现的所有old。
·:%s/old/new/g:替换整个文件中出现的所有old。·:%s/old/new/gc:替换整个文件中出现的所有old,并在每次替换时提示。
nano编辑器
nano flie_name
如果启动nano的时候没有指定文件名,或者指定的文件不存在,则nano会开辟一段新的缓冲区进行编辑。如果你在命令行中指定了一个已有的文件,则nano会将该文件的全部内容读入缓冲区,以备编辑
nano控制命令
在nano文本编辑器中按下Ctrl+G会显示主帮助窗口,其中包含了更多的控制命令。
注意 nano中的一些附加命令称为辅助键(Meta-key)序列,在nano文档中,用字母M表示。例如,在nano帮助系统中,使用M-U表示撤销最后一次操作。但不要按M键。M代表的是Esc键、Alt键或Meta键,具体取决于键盘配置。因此,可以按Alt+U组合键来撤销nano中的最后一次操作。
富文本编辑器-1-选型
参考技术A团队的业务多为后台管理系统,部分业务需要使用富文本编辑器。早期团队选用了百度编辑器,但存在bug多、无人维护、扩展性差等问题,且后续业需要更灵活的编辑器。为了解决这些问题,决定重选编辑器。
基于以下原因,笔者决定使用Quill来开发团队的编辑器组件:
1. Delta和API
Quill返回json结构的数据,有API操作编辑器内部元素。也可以通过innerHtml获取dom。
2. 可定制
Quill可以修改、扩展现有的模块,也可以添加新的模块,甚至可以在parchment的基础上全部重写。有较强的灵活性。
3. 兼容性
当前版本兼容Chrome、IE11、Edge,已满足业务需求。
4. 与其他编辑器比较
相比CKEditor、TinyMCE等传统编辑器,有更好的API和定制功能。而Draft是基于React的编辑器,需要自己实现数据层的内容,使用成本更高。国内的wangEditor功能比较全面,但不具备扩展性。
1. 基础文本模块
分割线、格式刷、段落、撤回和重做
2. 多媒体模块
图片上传模块
3. 其他模块
工具栏的Tooltip模块
4. 预览功能
图片上传主要取决于业务需求,我们可以改写图片的handler方法,打开一个模态框或者打开本地文件夹,调接口上传图片。通用点是保存的时候,用Delta保留前面的内容并插入图片内容,最后更新Quill。
由于图片上传、预览主要取决于业务需求,与编辑器关系不大,后面不再提到。
以上是关于文本编辑器的主要内容,如果未能解决你的问题,请参考以下文章