一、JavaScript splice() 方法 你可以使用splice来为数组指定位置添加内容。...arr.splice(index, 0, item); 上面的代码将会在数组的指定索引中添加一个item(因为删除0项,所以只插入)。...方法实例 //在数组指定位置插入 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2, 0, "Lemon", "Kiwi...---- 三、JavaScript concat() 方法 定义和用法 concat() 方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。...[表格] 实例 ---- 例子 1 在本例中,我们将把 concat() 中的参数连接到数组 a 中: javascript"> var a = [1,2,3];
你可以使用splice来为数组指定位置添加内容。 arr.splice(index, 0, item); 上面的代码将会在数组的指定索引中添加一个item(因为删除0项,所以只插入)。...arr.splice(2, 0, "Lene"); console.log(arr.join());//Jani,Hege,Lene,Stale,Kai Jim,Borge 总结 splice是数组中常见用来插入指定位置的方法
本文将详细介绍如何在 Vue 项目中实现一个功能完善、交互友好的表情包输入组件,并探讨其应用场景。组件设计思路表情包输入组件的核心功能是让用户能够便捷地选择表情,并将其插入到输入框中。...设计时需要考虑以下几个方面:表情分类展示:将表情按类别分组,方便用户查找响应式布局:在不同设备上都能良好展示与输入框交互:将选中的表情插入到输入框当前光标位置样式定制:支持自定义主题和布局技术实现方案下面介绍实现这个组件的关键技术点...与输入框的交互实现实现表情包与输入框的交互是关键部分,主要解决两个问题:如何将表情插入到输入框的当前光标位置如何在用户点击其他区域时关闭表情选择器// InputWithEmoji.vueexport...const start = textarea.selectionStart; const end = textarea.selectionEnd; // 将表情插入到当前光标位置...start) + emoji + this.message.substring(end); // 更新光标位置
使用 1,2 等指定光标位置。这些数字指定了光标跳转的顺序。特别地,0表示最终光标位置。...当光标跳转到该位置的时候,用户将会被提供多个值(one 或 two 或 three)以供选择。 Variables:变量 使用name或{name:default}可以插入变量的值。...,如 02; CURRENT_MONTH_NAME: 当前月份的全称,如 July; CURRENT_MONTH_NAME_SHORT: 当前月份的简称,如 Jul; CURRENT_DATE: 当天月份第几天...3.4.2 变量转换 变量转换可将变量的值格式化处理后插入预定的位置。...if:else}:表示当匹配成功,并且捕捉括号捕捉特定序号的捕捉项成功时,在捕捉项位置插入「if」所述语句;否则当匹配成功,但当捕捉括号捕捉特定序号的捕捉项失败时,在捕捉项位置插入「else」所述语句;
本文介绍如何在 Visual Studio Code 中添加自定义代码片段。...body 你可以使用 1 2 来作为按下 Tab 时将切换的键盘焦点区域,0 是插入完成后最终光标所在的位置。...光标停留点(Tabstop) 使用 1 2 这些可以作为按下 Tab 键时的光标停留位置,而 占位符 ${1:占位符 Id} 可以表示一个占位符。...在 Visual Studio Code 中,你有这些变量可以使用: -TM_SELECTED_TEXT - 在插入代码片段的时刻选中的文本 -TM_CURRENT_LINE - 在插入代码片段的时刻光标所在的行...-TM_CURRENT_WORD - 在插入代码片段的时刻光标所在的词 -TM_LINE_INDEX - 在插入代码片段的时刻的行号(0 为首行) -TM_LINE_NUMBER - 当前文档的总行数
本文将详细介绍如何在 Vue 项目中实现一个功能完善、交互友好的表情包输入组件,并探讨其应用场景。 组件设计思路 表情包输入组件的核心功能是让用户能够便捷地选择表情,并将其插入到输入框中。...设计时需要考虑以下几个方面: 表情分类展示:将表情按类别分组,方便用户查找 响应式布局:在不同设备上都能良好展示 与输入框交互:将选中的表情插入到输入框当前光标位置 样式定制:支持自定义主题和布局 技术实现方案...与输入框的交互实现 实现表情包与输入框的交互是关键部分,主要解决两个问题: 如何将表情插入到输入框的当前光标位置 如何在用户点击其他区域时关闭表情选择器 // InputWithEmoji.vue export...const start = textarea.selectionStart; const end = textarea.selectionEnd; // 将表情插入到当前光标位置...+ emoji + this.message.substring(end); // 更新光标位置
3 个单词的末尾 # 0 移动到行首 # $ 当前行的末尾 # gg 文件第一行 # G 文件最后一行 # 行号+G 指定行 # +o 跳转回之前的位置 # +i 返回跳转之前的位置...修改 # i 插入文本 # A 当前行末尾添加 # r 替换当前字符 # o 打开新的一行并进入插入模式 撤销 # u 撤销 # +r 取消撤销 复制粘贴剪切 # v 进入可视模式 # y...plug.vim 基本配置 取消备份 set nobackup set noswapfile 文件编码 set encoding=utf-8 显示行号 set number 取消换行 set nowrap 显示光标当前位置...\ } # o 打开关闭文件或目录 # e 以文件管理的方式打开选中的目录 # t 在标签页中打开 # T 在标签页中打开,但光标仍然留在 NERDTree # r 刷新光标所在的目录 # R 刷新当前根路径...# I 显示隐藏文件 # C 将根路径设置为光标所在的目录 # u 设置上级目录为根路径 # ctrl + w + w 光标自动在左右侧窗口切换 # ctrl + w + r 移动当前窗口的布局位置
现在,你知道如何在 Insert 和 Normal 模式下切换了。...a → 在光标后插入 o → 在当前行后插入一个新行 O → 在当前行前插入一个新行 cw → 替换从光标所在位置后到一个单词结尾的字符 简单的移动光标 0 → 数字零,到行头 ^ → 到本行第一个不是.../pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个) 拷贝/粘贴 (陈皓注:p/P都可以,p是表示在当前位置之后,P表示在当前位置之前) P → 粘贴...在当前行上移动光标: 0 ^ $ f F t T , ; 0 → 到行头 ^ → 到本行的第一个非blank字符 $ → 到行尾 g_ → 到本行最后一个不是blank字符的位置。...假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置。
>+o 跳转回之前的位置 # +i 返回跳转之前的位置 退出 # 进入正常模式 # :q!...修改 # i 插入文本 # A 当前行末尾添加 # r 替换当前字符 # o 打开新的一行并进入插入模式 撤销 # u 撤销 # +r 取消撤销 复制粘贴剪切 # v 进入可视模式 # y...vim-plug 基本配置 取消备份 set nobackup set noswapfile 文件编码 set encoding=utf-8 显示行号 set number 取消换行 set nowrap 显示光标当前位置...\ } # o 打开关闭文件或目录 # e 以文件管理的方式打开选中的目录 # t 在标签页中打开 # T 在标签页中打开,但光标仍然留在 NERDTree # r 刷新光标所在的目录 # R 刷新当前根路径...# u 设置上级目录为根路径 # ctrl + w + w 光标自动在左右侧窗口切换 # ctrl + w + r 移动当前窗口的布局位置 # :tabc 关闭当前的 tab # :tabo 关闭所有其他的
该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。...(1)模式切换 在命令模式中,按a.i.o等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容,需要返回命令模式时,按Esc键即可。常见的几个模式切换键及其作用如下。...a:在当前光标位置之后插入内容。 A:在光标所在行的末尾(行尾)插入内容。 i:在当前光标位置之前插入内容。 I:在光标所在行的开头(行首)插入内容。 o:在光标所在行的后面插入一个新行。...在vi编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。...:e ~/initial-setup-ks.cfg 在当前文件中读入其他文件内容,执行“r其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。
现在,你知道如何在Insert和Normal模式下切换了。...第 1 类:各种插入模式 a→ 在光标后插入 o→ 在当前行后插入一个新行 O→ 在当前行前插入一个新行 cw→ 替换从光标所在位置后到一个单词结尾的字符 第 2 类:简单的移动光标 0→ 数字零...第 3 类:拷贝/粘贴 (陈皓注:p/P都可以,p是表示在当前位置之后,P表示在当前位置之前) P→ 粘贴 yy→ 拷贝当前行当行于ddP 第 4 类:Undo/Redo u→ undo 当前行上移动光标:0 ^ $ f F t T , ; 0→ 到行头 ^→ 到本行的第一个非blank字符 $→ 到行尾 g_→ 到本行最后一个不是blank字符的位置。...而光标键在第一个o的位置。
◈ 替换15% ◈ 折叠16% ◈ 执行外部命令17% ◈ .vimrc18% ◈ 基本配置23% ◈ 取消备份23% ◈ 文件编码23% ◈ 显示行号24% ◈ 取消换行24% ◈ 显示光标当前位置25%...i 插入文本# A 当前行末尾添加# r 替换当前字符# o 打开新的一行并进入插入模式 撤销 # u 撤销# +r 取消撤销 复制粘贴剪切 # v 进入可视模式# y 复制# p 粘贴#...基本配置 取消备份 set nobackupset noswapfile 文件编码 setencoding=utf-8 显示行号 setnumber 取消换行 setnowrap 显示光标当前位置 setruler...}# o 打开关闭文件或目录# e 以文件管理的方式打开选中的目录# t 在标签页中打开# T 在标签页中打开,但光标仍然留在 NERDTree# r 刷新光标所在的目录# R 刷新当前根路径# X 收起所有目录...# ctrl + w + w 光标自动在左右侧窗口切换# ctrl + w + r 移动当前窗口的布局位置# :tabc 关闭当前的 tab# :tabo 关闭所有其他的 tab# :tabp
三、添加颜色 大多数终端都会响应某些非打印字符序列,来控制光标位置、字符属性(如:颜色、粗体、文本闪烁)等内容。 1.字符颜色 (1)是什么?...PS1="\[\033[0;31m\]\$ " # 显示域名的主机名 当前工作目录最后一部分>$ ,最后的空格会将$与光标分隔开 可以看到,提示符已经变成红色,但是此时用户输入的文本也变成了红色...\033[2J 清空屏幕并将光标移动至左上角(即第0行第0列) \033[K 清空当前光标位置到行末的内容。 \033[s 存储当前光标位置。 \033[u 恢复之前存储的光标位置。...如果没有该字符,命令行编辑功能无法正确定位光标。 \033[s 存储当前光标位置。在屏幕的顶端横条绘制完成并显示时间后,读取并使光标返回此位置。(需要注意的是,一些终端仿真器不支持该代码。)...(需要注意的是:清空行的内容并不会改变光标的位置,光标仍处于左上角) \033[1;33m 将文本颜色设置为黄色。 \t 显示当前时间。
插入模式 按「i」切换进入插入模式「insert mode」,按”i”进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字...按「^」:移动到光标所在行的”行首” 按「w」:光标跳到下个字的开头 按「e」:光标跳到下个字的字尾 按「b」:光标回到上个字的开头 按「#l」:光标移到该行的第#个位置,如:5l,56l...最后提一下,如何在文本输入方式时将所输入文本删除。用户使用组合键即可,此时光标将返回插入开始的位置,并且Vi仍处于文本输入方式。...命令c中修改文本的范围是由光标位置和光标移动命令二者限定的。 C、c$命令 C 、c$命令可以修改从光标当前位置开始到该行末尾或从光标当前位置开始到某行末尾范围内的内容。...替换命令:s和S s(小写):该命令表示用随后输入的文本替换当前光标所在的字符。 如果只用一个新字符替换光标所在字符,则s命令与r命令功能类似,如sh与rh的作用都是将光标所在字符变为h。
现在,你知道如何在 Insert 和 Normal 模式下切换了。...各种插入模式 a → 在光标后插入 o → 在当前行后插入一个新行 O → 在当前行前插入一个新行 cw → 替换从光标所在位置后到一个单词结尾的字符 2....拷贝/粘贴 (注:p/P都可以,p是表示在当前位置之后,P表示在当前位置之前) P → 粘贴 yy → 拷贝当前行当行于 ddP 4....在当前行上移动光标: 0 ^ $ f F t T , ; 0 → 到行头 ^ → 到本行的第一个非blank字符 $ → 到行尾 g_ → 到本行最后一个不是blank字符的位置。...假设你有一个字符串 (map (+) ("foo")),而光标键在第一个 o 的位置。
删除当前行光标后面部分:D或者d$ 5.6、删除当前行(整行):dd 5.7、删除多行:ndd(如10dd,即从当前位置起,往下删除10行(包括当前行)) 5.8、删除当前位置后面的所有内容...:yy 6.2、粘贴复制内容:p(当前行下一行);P(当前行上一行) 6.3、复制多行:nyy(如3yy,即从当前位置起,往下复制3行(包括当前行)) 6.4、复制选中:按v进入可视模式...,然后输入要查找的内容,如:/hello 如果搜到多个:n下一个,N上一个 8.2、搜索当前光标所在的单词:# 9、进入编辑模式 9.1、a:从光标后面开始插入 9.2、...A:会跳到行尾并从光标后面开始插入 9.3、i:从光标前面开始插入 9.4、I:会跳到行首并从光标前面开始插入 9.5、o:会在光标下一行新建空白行插入 9.6、O:会在光标上一行新建空白行插入...9.7、s:删除光标盖住的字符开始插入 9.8、S:删除光标所在行后开始插入 回到命令模式:按Esc键(一次或多次) 二:末行模式(输入“:”进入该模式) 1、q:退出当前文件 2、q
i 插入文本# A 当前行末尾添加# r 替换当前字符# o 打开新的一行并进入插入模式 撤销 # u 撤销# +r 取消撤销 复制粘贴剪切 # v 进入可视模式# y 复制# p 粘贴#...基本配置 取消备份 set nobackupset noswapfile 文件编码 setencoding=utf-8 显示行号 setnumber 取消换行 setnowrap 显示光标当前位置 setruler...}# o 打开关闭文件或目录# e 以文件管理的方式打开选中的目录# t 在标签页中打开# T 在标签页中打开,但光标仍然留在 NERDTree# r 刷新光标所在的目录# R 刷新当前根路径# X 收起所有目录...# p 小写,跳转到光标所在的上一级路径# P 大写,跳转到当前根路径# J 到第一个节点# K 到最后一个节点# I 显示隐藏文件# m 显示文件操作菜单# C 将根路径设置为光标所在的目录# u 设置上级目录为根路径...# ctrl + w + w 光标自动在左右侧窗口切换# ctrl + w + r 移动当前窗口的布局位置# :tabc 关闭当前的 tab# :tabo 关闭所有其他的 tab# :tabp
) Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+c转换为utf8 Ctrl+R 搜索指定文件的函数标签...闭合当前标签 F6 检测语法错误 F9 行排序(按a-z) F11 全屏模式 Ctrl+Enter 光标后插入行 Ctrl+Shift+Enter 光标前插入行 Ctrl+Shift+[ 折叠代码 Ctrl...+Shift+] 展开代码 Ctrl+Shift+↑ 与上行互换 Ctrl+Shift+↓ 与下行互换 Ctrl+Shift+A 选择光标位置父标签对儿 Ctrl+Shift+D 复制光标所在整行,插入在该行之前...Alignment 代码对齐,如写几个变量,选中这几行,Ctrl+Alt+A,哇,齐了。 9. Ctags 函数跳转,我的电脑上是Alt+点击 函数名称,会跳转到相应的函数 10..../相对路径的问题 解决:_dirname 、_filename _dirname:表示,当前正在执行的js文件所在的目录 _filename表示,当前正在执行的js文件的完整目录 ?