1.概念和原理 DOM中并没有直接获取光标位置的方法,那么我们只能间接来获取光标位置。...DOM支持获取光标选中的范围,我们可以以此为切入点,来获取或定位光标的位置,当选取范围起始点和结束点一样时,就是光标插入的位置。 1.1. 术语 anchor:选区起点。 focus:选区终点。...extractContents():将range的内容从文档树移动到文档片段中。 insertNode(newNode):在range的其实位置插入新的节点。...1.4. input/textarea 在HTML5中,input/textarea 都存在以下属性,不支持IE6/7。...// 输入框获取光标 const getPosition = function (element) { let cursorPos = 0; // IE浏览器 if (document.selection
简介 vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...`{0-9}:回到上[2-10]次关闭vim时最后离开的位置。 : 移动到上次编辑的位置。''也可以,不过精确到列,而'‘精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。...P: 在光标之前粘贴 查找与替换 查找 /something: 在后面的文本中查找something。 ?something: 在前面的文本中查找something。...:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。 :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。 所有替换命令末尾加上c,每个替换都将需要用户确认。
点击上方“前端自习课”关注,学习起来~ 本文原载于 SegmentFault 专栏青檬前端 作者:sheldon 整理编辑:SegmentFault 问题症状: 今天在开发一个移动端的 H5 页面时,遇到了...此时,实际上页面顶部是离开了我们的视口一部分距离的(我们看到界面中消失了一行输入框)。 键盘收起时页面无法还原归位 然而当用户输入完成关闭键盘后,键盘虽然收起了,但页面位置却不会还原。...问题分析: 实际上这是由于 iOS 无法在键盘收起时,页面滚出视口的部分没有掉下来导致的。这时用户是可以通过手指将页面拖回来的。 但是毕竟体验不好。...要解决这个问题,我们可以在用户光标离开输入框的时候,调用 window.scrollTo(0, 0) 来把页面滚动到跟视口顶部对齐,从而实现页面归位的效果。...那么现在问题就是要给表单中 4 个输入框全部加上 blur 事件,然后在 handler 中调用 window.scrollTo。
Home 将光标移动到行的开头 End 将光标移动到行的末尾 Backspace 删除光标左侧字符 Ctrl+Backspace 删除光标左侧的单词 Delete 删除光标右侧字符 Ctrl+Delete...删除光标右侧的单词 Ctrl+A 全选 Ctrl+C 复制选中的文本复制到剪贴板 Ctrl+Insert 复制选中的文本复制到剪贴板 Ctrl+K 删除此处至末尾所有内容 Ctrl+V 粘贴剪贴板的文本到输入框中...通常,一个空的输入框显示占位符文本,即使它有焦点。然而,如果内容水平居中,当输入框有焦点时,占位符文本不显示在光标下。...在只读模式下,用户仍然可以将文本复制到剪贴板,或拖放文本(如果echoMode()是Normal),但不能编辑它。 只读模式下,QLineEdit也不显示光标。...void selectAll() 选中所有文本(即:高亮),并将光标移动到末尾。当一个默认值被插入时,这非常有用,因为如果用户在点击部件之前就输入,选中的文本将被删除。
: 退出并销毁所做的任何更改 移动 以下移动都是在normal模式下,编辑模式通过上下左右按键控制移动。 0:移动到行首。g0:移到光标所在屏幕行行首。gg:到文件头部。G:到文件尾部。...h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一行;k: 上移一行;gj: 移动到一段内的下一行;gk: 移动到一段内的上一行;+或者Enter: 把光标移至下一行第一个非空白字符。...w: 前移一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前移一个单词,光标停在下一个单词末尾;E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...,光标停在上一个单词开头;B: 移动到上一个单词开头,忽略一些标点;ge: 后移一个单词,光标停在上一个单词末尾;gE: 同 ge ,不过‘单词’包含单词相邻的标点。...复制与粘贴 p: 在光标之后粘贴。P: 在光标之前粘贴。d: 删除(剪切)在可视模式下选中的文本。d或者D: 删除(剪切)当前位置到行尾的内容。
Vim是一款文本编辑器,经常被程序员使用,也是Linux系统中常用的编辑器之一。它以快速、高效、灵活而著称,由于其强大的快捷键功能,可以使用户在编辑文本时更快更高效。...本文将介绍Vim中一些常用的快捷键,以帮助您更快地编辑文本。...光标移动 h - 光标左移 j - 光标下移 k - 光标上移 l - 光标右移 0 - 移动到行首 $ - 移动到行末 w - 向前移动一个单词 b - 向后移动一个单词 gg - 移动到文件的开头...G - 移动到文件的末尾 编辑 i - 进入插入模式,在光标处插入文本 a - 在光标后插入文本 o - 在光标下方新开一行 O - 在光标上方新开一行 x - 删除光标所在位置的字符 dd - 删除整行...- 不保存并退出 分屏和多窗口 :split - 横向分屏 :vsplit - 纵向分屏 Ctrl + ww - 在分屏窗口之间切换 Ctrl + w + q - 关闭当前窗口 其他常用快捷键 Ctrl
2.2 解决方案 爬墙爬到这么一个issue,3楼eddiemonge老哥说到了,在IOS下除非用户手动触发了输入框的focus事件,才会触发键盘,至于设置定时器也是不管用的;但是,手动点击一个按钮,在按钮的操作中再来执行...3.2 解决方案 我找到了这样的一个issue。在其中的描述是:他的内容中有一输入框,然后focus,当滑动内容时,光标不跟随移动,而在此输入的时候,光标又会回到输入框中。情况应该和我类似。...IOS输入框聚焦后页面整体上移,头部顶出 4.1 出现场景 页面中有fixed头部,输入框,并且输入框靠下时,当输入框focus的时候,会将整个页面上移,导致头部被顶出去。...那么可以具体分这几步来解决: 没有focus的时候采用fixed固定头部 不要让用户进行缩放 当输入框focus时,采用绝对定位头部,同时使用window.pageYOffset来计算滑动的距离,设置头部的...说明:测试了很多机型,发现现在的android上的浏览器都貌似修复了这个问题,就是当键盘弹上来的时候,会默认地将输入框上移。但是我在项目中内嵌的webview中确实遇到了这种问题。
命令行模式 任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。...在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。...在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式 末行模式也称ex转义模式。...移动光标: h: 左移 j: 下移 k: 上移 l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字...{: 按段移动,上移 }: 按段移动,下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾
兼容性:IE与标准浏览器 二、详细设计 根据需求,我们大致可以想到如下问题: 兼容性的处理 事件绑定的兼容性 可编辑输入框的表情插入兼容性 获取数据的兼容性 三个模块 留言板与ui交互的模块 表情展示模块...SelectionUitls:实现可编辑输入框的操作,如:插入一个表情、获取数据等。 各模块的兼容性在以下细节中进行介绍。 三、代码实现 1....在class中设元素的display为none后,用js是获取不到此元素的display值的。 兼容性有以下几个点: 事件的绑定:attacheEvent和addEventListener。...classList在ie8-不支持的问题,暂时选择的用setAttribute代替 appendChild全都支持,append在chrome中支持,但ie不支持 2....与标准浏览器的兼容性,值得注意的IE操控选区时,需要让被操控元素(也就是选区所在的元素)获取焦点,否则会失败。
命令模式 命令模式下,用户可以对文件进行一些高级处理。...命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上移光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上移光标(折行文本) H - 移动到当前页面顶部...T操作 } - 移动到下一个段落 (当编辑代码时则为函数/代码块) { - 移动到上一个段落 (当编辑代码时则为函数/代码块) zz - 移动屏幕使光标居中 zt - position cursor on..., 开始插入字符 O - 在当前行之上另起一行, 开始插入字符 ea - 从当前单词末尾开始插入 Ctrl + h - 在插入模式下,删除光标前的字符 Ctrl + w - 在插入模式下,删除光标前的单词...a 的位置 y`a - 复制当前位置到标记 a 的内容 `0 - 跳转到上次 Vim 退出时的位置 `" - 跳转到上次编辑该文件时的位置 `. - 跳转到上次修改的位置 `` - 跳转回上次跳转前的位置
h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...A-Z:用大写字母索引寄存器,可以在寄存器中追加内容。 如”Ayy把当前行的内容追加到a寄存器中。 :reg 显示所有寄存器的内容。 “”:不加寄存器索引时,默认使用的寄存器。...所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)。...13.8 多行缩进缩出 正常模式下,按两下>;光标所在行会缩进。 如果先按了n,再按两下>;,光标以下的n行会缩进。 对应的,按两下<;,光标所在行会缩出。 如果在编辑代码文件,可以用=进行调整。
知识汇总: 1:移动光标 h j k l :对应左下上右, e :移动到下一个单词的末尾 w:动到下一个单词的开头 Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d...:%s/old/new/g 则是替换整个文件中的每个匹配串。 :%s/old/new/gc 会找到整个文件中的每个匹配串,并且对每个匹配串 提示是否进行替换。 ...+ 字符串 当前文件向前找 n 查找中继续向下找 N 查找中继续向上找 光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?...:e 然后ctrl+d 显示e开始的命令 列表 ctrl +w 在打开的多个窗口之间跳转 附上额外编辑的 .vimrc 配置文件 放在用户目录下,如果“为中文,需要全部替换成英文下的,vim命令:...如果按的是F,那么将在新窗口中打开页面(见上图) g+i:将光标 定位到输入框,如果有多个可以按Tab键切换 x:关闭当前页面 X:恢复刚刚关闭的页面 o:相当于Chrome中的地址栏,可以匹配历史记录
k:上移 l:右移 M:光标移动中间行 L:光标移动到屏幕最后一行行首 G:移动到指定行,行号 -G 在命令行中输入 vi +26 samp.txt...命令直接打开文件到达 26 行,在 vi 编辑器中也可以输入 :26 跳转到 26 行 {:按段移动,上移 }:按段移动,下移 Ctr-d:向下翻半屏...; g放在命令末尾,表示对搜索字符串的每次出现进行替换; g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作 2....、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号 set ruler " 在状态栏显示光标的当前位置(位于哪一行哪一列) set guifont...会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号~ setlocal noswapfile " 不创建交换文件。
c : 在替换前请求用户确认。 e : 忽略执行过程中的错误。 ...光标的移动 4.1 基本移动 以下移动都是在normal模式下: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。 :%s//xxx/g - 在每一行的行尾插入xxx,表示行尾。 所有替换命令末尾加上c,每个替换都将需要用户确认。...old 为新的字符串 new,请输入 :#,#s/old/new /g在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g进行全文替换时询问用户确认每个替换需添加
Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手。在Ubuntu中打开终端的快捷键是Ctrl+Alt+T。...其他的一些常用的快捷键如下: 快捷键与功能 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾...向前移动光标 Ctrl+t 将光标位置的字符和前一个字符进行位置交换 Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容...Firefox浏览器 进入Firefox的方法: 1....在终端中按firefox&,回车。这个适用于以终端作为主要操作窗口的用户,使用TAB键还可以自动补全命令(只需输入前几个字母再按TAB键)。
4 巧用替换功能 删除多余空行 打开“编辑”菜单中的“替换”对话框(可以用Ctrl+H哦),把光标定位在“查找内容”输入框中,单击“高级”按钮,选择“特殊格式”中的“段落标记”两次,在输入框中会显示“^...但是,用户需要注意的是,当在另一台电脑上打开该文档时,不能对嵌入的字体文本进行修改,否则会使嵌入的字体丢失。...在“自动套用格式”中修改 需要提醒用户注意的是,使用此方法后,当用户再输入网址或E-mail地址时,Word就不会自动将其转换为超级链接了。...8 Word图片轻松移 轻松插入移动图片 在Word中可以通过拖动图形来移动它。但是,“嵌入型”的图形只能放置在段落标记处。...首先要将“嵌入型”更改为其他环绕类型 要拖动图形,请单击选中它,然后将它拖动到需要的位置。当然,我们也可以微移选中的浮动图形,选中图形后使用光标键从任意4个方向微移它。
IOS系统下输入框光标高度不正常 问题描述:input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样,看起来很怪异。...例如下图,左图是正常所期待的输入框光标,右边是IOS的 input 光标。 解决办法:高度height和行高line-height内容用padding撑开。...IOS 端微信H5页面上下滑动时卡顿和页面缺失 问题描述:在IOS端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况。...IOS键盘唤起,键盘收起以后页面不归位 问题描述:输入内容,软键盘弹出,页面内容整体上移,但是键盘收起,页面内容不下滑。 解决办法:在输入框失失去焦点的时候添加一个事件,让页面回滚。...Element.scrollIntoViewIfNeeded()方法也是用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域,但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动。
就使用效果及效率来说,编辑同样的文件,使用 Vim 更胜一筹;就版本来说,新版的往往会修复旧版的一些缺陷及不足。这就要求我们在可能的情况下一定要使用最新版的 Vim。...无条件退出 ZZ 存盘并退出 :wq 存盘并退出 保存部分文件 :m,nw 将 m 行到 n 行部分的内容保存到文件 中 :m,nw >> 将 m 行到 n 行的内容添加到文件 的末尾...字符 h左移一位,l右移一位 单词 w/W 移动到下一单词的开头 b/B 移动到上一单词的开头 e/E 移动到光标所在单词的末尾 f 快速移动到下一个字符的位置 行 j 下移一行 k 上移一行 0...移到当前行开头 ^ 移到当前行的第一个非空字符 $ 移到当前行末尾 :n 移动到第 n 行 句子 ) 移动到当前句子的末尾 ( 移动到当前句子的开头 段落 } 移动当前段落的末尾 { 移到当前段落的开头...G 移动到文件末尾 gg 移动到文件开头 :0移动到文件第一行 :$ 移动到文件最后一行 文本编辑 与光标移动一样,Vi/Vim 中关于编辑操作的命令也比较多,但操作单位要比移动光标少得多。
目录 一、系统快捷键 二、常用系统命令 三、QQ快捷键 四、IE浏览器快捷键使用大全 五、Word 中的快捷键 六、Excel 中的快捷键 七、PowerPoint 中的快捷键 八、Visual...时最常用到的了 Ctrl+Alt+Z 快速提取消息 Ctrl+Alt+A 捕捉屏幕 四、IE浏览器快捷键使用大全 一般快捷键 F11打开/关闭全屏模式 TAB循环的选择地址栏,刷新键和当前标签页...在菜单或子菜单中选定下一个或前一个命令 左箭头键或右箭头键 选定左面或右面的菜单或者当子菜单可见时,在主菜单和子菜单之间 进行切换 HOME 或END 选定菜单或子菜单中的第一个或最后一个命令...,并将插入点放置到单元格内容末尾 Backspace 编辑活动单元格,然后清除该单元格,或在编辑单元格内容时删除活动单元格 中的前一字符 Delete 删除插入点右侧的字符或删除选定区域中的内容...6.14.公式编辑快捷键 =(等号) 键入公式 F2 关闭了单元格的编辑状态后,将插入点移动到编辑栏内 Backspace 在编辑栏内,向左删除一个字符 Enter 在单元格或编辑栏中完成单元格输入
插入模式——按i进入, 左下角显示–INSERT–,这个是insert单词的第一个字母,这样好记,编辑文件时很常用。...进入插入模式 在shell中输入vim文件名默认进入的是命令模式,在命令模式无法输入数据,需要在命令模式下使用以下命令进入插入模式,从而实现在文件中输入数据。...其他命令如下: h # 左移一个字符 l # 移一个字符,通常用w向右移动到下一个单词的第一个字母 j # 上移一个字符 k # 下移一个字符 #注意hljk...H # 使光标移动到屏幕的顶部,head M # 使光标移动到屏幕的中间,middle L # 使光标移动到屏幕的底部 # 还可以使用[PU] [PD]实现上下翻页...,$w filename # 将从光标开始位置到文件末尾的所有内容保存到文件filename中。
领取专属 10元无门槛券
手把手带您无忧上云