2 )就可以直接执行该历史命令); Ctrl + L:清除屏幕并将当前行移到页面顶部; Ctrl + C:中止当前正在执行的命令; Ctrl + U:从光标位置剪切到行首; Ctrl + K:从光标位置剪切到行尾...插入模式 这个模式是我们熟悉的文本编辑器的模式,就是可以输入任何你想输入的内容。...插入 进入文件之后,此时处于交互模式,可以通过输入 i 进入插入模式。 移动 在 Vim 的交互模式下,我们可以在文本中移动光标。...w 再加 “方向键”,就可以移动到这个方向所处的下一个视口了; Ctrl + w 再加 + 号,表示扩大当前视口; Ctrl + w 再加 - 号,表示缩小当前视口; Ctrl + w 再加 = 号,...表示平均当前视口; Ctrl + w 再加 r 键,会反向调换视口位置; Ctrl + w 再加 q 键,会关闭当前视口; Ctrl + w 再加 o 键,会关闭除当前视口以外的所有视口; 运行外部命令
) 当前需求的拆解 按住shift + @ 的时候,弹出通知列表 选择时 @的用户标签插入当前的光标位置中 生成@的用户标签的规则是:高亮、携带用户ID、一键删除信息、不可以编辑。...通过$event 可以获取键盘的keyCode 达到监听的目的 e.preventDefault 可以阻止我输入的@字符的默认事件 getSelection 可以获取光标的位置、给插入标签一个坐标。...: 888}] */ //弹窗列表 - 选人 - 生成@的内容 createSelectElement(name, id, type = 'default') { // 获取当前文本光标的位置...Event.returnValue 兼容IE取消默认事件 到现在我们的核心功能已经完成了。通过@人的监听事件,通过我们自定义的标签插入,通过getSelection获取到的光标位置。...获取光标的坐标在文本中的位置 caret-pos 从 textarea、contentedtiable 或 iframe 正文中获取插入符号/光标的位置/偏移量 import { position, offset
SetTextAlign 设置文本对齐方式,并指定在文本输出过程中使用设备场景的当前位置 SetTextCharacterExtra 描绘文本的时候,指定要在字符间插入的额外间距 SetTextColor...该区域当前无效,需要刷新 GetViewportExtEx 获取设备场景视口(viewport)范围 GetViewportOrgEx 获取设备场景视口起点 GetWindowDC 获取整个窗口...SetRectRgn 设置区域为指定的矩形 SetViewportExtEx 设置设备场景视口范围 SetViewportOrgEx 设置设备场景视口起点 SetWindowExtEx...判断目前正在生效的ANSI代码页 GetAsyncKeyState 判断函数调用时指定虚拟键的状态 GetCaretBlinkTime 判断插入符光标的闪烁频率 GetCaretPos 判断插入符的当前位置...将OEM字符集的一个字串转换到ANSI字符集 SetCaretBlinkTime 指定插入符(光标)的闪烁频率 SetCaretPos 指定插入符的位置 SetComputerName 设置新的计算机名
*, *:before, *:after{ padding: 0; margin: 0; box-sizing: border-box; } 设置整个页面的背景图像,高度为视口高度...,用于设置其背景颜色、文本颜色、高度、宽度、边框半径、边框样式、光标类型和轮廓样式。...document.querySelector('#push').onclick = function(){ /* JavaScript 代码块 */ } 首先判断输入框中的内容是否为空。...这段代码使用了 innerHTML 属性将一个新的 div 元素插入到了任务列表中,其中包括任务名称和删除按钮。...${document.querySelector('#newtask input').value} 是一个 ES6 模板字符串语法,用于将输入框的值插入到字符串中。
5.空;默认查询条件结果集 6.空格; 7.是否有忽略空格的功能,有的搜索框是需要有忽略前置空格和后置空格的功能,但不能把中间空格忽略; 8.输入各种字符,譬如输入范围是09,AZ的看输入中文是什么效果...,字符(尤其是英文单引号),数字,特殊符号以及组合情况(特殊符号就是键盘上的那些);中文值,字母大、小写值、数字类型值、全角、半角值, 9.输入系统中存在的与之匹配的条件,看其的查询后数据的完整性;显示记录条数正确...3.组合各个文本域查询条件,点击“搜索”,查询结果正确 4.多个关键词中间加入空格,tab,逗号后,验证系统的结果是否正确 =============== 其他苛刻要求: 1、于输入框处双击鼠标是否出现下拉菜单记忆已搜索过的内容...2、特殊数字的判定,如输入"10101010"二进制字符系统的判断与报错 3、于输入框单击鼠标左键,是否有光标出现 4、承上,光标出现后使用"Tab"键后,"搜索"按钮是否出现选定TIP 5、于输入框点击鼠标右键是否出现...Menu,Menu内容依次为"撤消"、"复制"、"粘贴"、"删除"、"全选"(具体情况视实际情况而定) 6、检查以上Menu出现的选择模块是否可正常使用 7、于输入框输入任意长度字母、数字、文字,双击鼠标左键
快捷键 功能描述 i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 o 在光标所在行的下面插入新的一行...光标停在空行首,等待输入文本 O(大写) 在光标所在行的上面插入新的一行。...光标停在空行的行首,等待输入文本 a 在当前光标所在位置之后插入随后输入的文本 A 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令 image.png Vim 查找文本...x 删除光标所在位置的字符 dd 删除光标所在行 ndd 删除当前行(包括此行)后 n 行文本 dG 删除光标所在行一直到文件末尾的所有内容 D 删除光标位置到行尾的内容 :a1,a2d 函数从 a1...视化模式支持使用的命令 命令 功能 d 删除选中的部分文本。 D 删除选中部分所在的行,和 d 不同之处在于,即使选中文本中有些字符所在的行没有都选中,删除时也会一并删除。
,根据视口的高度、滚动容器的滚动距离、行的高度等信息计算出当前视口内需要渲染的行,然后在视图层根据计算的状态来决定是否要渲染。...首先我们来看Scroll Event,这是最常见的滚动监听方式,通过监听滚动事件我们可以获取到滚动容器的滚动距离,然后通过计算视口的高度与滚动距离来计算出当前视口内需要渲染的行,然后在视图层根据计算的状态来决定是否要渲染...,这对判断元素是否出现在视口范围非常有用。...当然由于实际上在锁定视口的时候不可避免地会出现获取DOM的Rect数据,则人工干预视口锁定会触发更多的reflow/repaint行为。...因此我们在插入节点的时候需要对其进行控制,对于这个这个问题的解决方案非常简单,试想一下什么时候会有插入操作呢,必然是整个编辑器都加载完成之后了,那么插入的时候应该是什么位置呢,大概率也是在视口区域进行编辑的
pattern:填写正则表达式,适用于文本输入类表单控件。 注意:多行输入不可用,且空的输入框不会验证,往往与 required 配合。...vw:视口宽度的百分之多少,10vw 就是视口宽度的 10%。vh:视口高度的百分之多少,10vh 就是视口高度的 10%。vmax:视口宽高中大的那个的百分之多少。...(了解即可)vmin:视口宽高中小的那个的百分之多少。(了解即可)新增盒模型相关属性:box-sizing:content-box:width 和 height 设置的是盒子内容区的大小。...:文本阴影:text-shadowtext-shadow: h-shadow v-shadow blur color; h-shadow:必需写,水平阴影的位置。...v-shadow:必需写,垂直阴影的位置。允许负值。blur:可选,模糊的距离。color:可选,阴影的颜色文本修饰: CSS3 升级了 text-decoration 属性,让其变成了复合属性。
9 /mnt 该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。...语法:mv [选项] 说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。...如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。 -f 禁止交互操作。... 插入文本: a 从光标后面开始添加文本 A 从光标所在行的末尾开始添加文本 i 从光标前面开始插入文本 I 从光标所在行的开始处插入文本 o 在目前光标所在的下一行处插入新的一行 O 在目前光标所在处的上一行插入新的一行...dd 删除光标所在的整行 3dd 删除光标所在行以及下面的两行 D或d$ 删除光标到行尾的文本,常用语删除注释语句 d^或d0 删除光标到行首的文本 光标的移动: h 或 向左方向键(←) →
1,25表示光标当前位置,在此模式下用户可以输入命令来进行文件存盘、移动光标、删除字符、撤消命令和重复命令等操作,还可以设置编辑环境。...在输入模式下,屏幕的左下方会出现INSERT (插入)字样。在输入状态下,用户可以输入文本的内容。...(常用) a, A a =从当前光标所在的下一个字符处开始插入, A =从光标所在行的最后一个字符处开始插入。...(常用) o, O o =在当前光标所在的下一行处插入新的一行; O =在当前光标所在处的上一行插入新的一行。...环境变量与记录 .viminfo:记录用户的行为,之前编辑过的文件光标在什么位置,在这个文件中进行过什么操作等,自动建立 .vimrc:定义vim的默认设置,如是否显示行号等,需要手动生成 :set
2.插入模式 在这个模式下可以输入文本内容到文件中。可以在几种不同的情况下插入字符。...1).删除光标所在位置字符 进入到命令模式,然后输入"x(右边的值删除)" “s(删除并进入插入模式)" "cl(同s)" "dl(同x)" "dh(左边的值删除)" 2).删除光标所在位置全部字符...进入到命令模式,然后输入"dd",也可以输入"cc",只是它删除完后就会进入插入模式 3).删除光标所在的位置的换行符 进入到命令模式,然后输入"J" 4).删除光标所在某行位置以及后面的所有值 进入到命令模式...按下”i“ 将内容插入到当前光标所在的位置的前面 2).按下"o" 将内容插入到当前光标所在的位置的下一行 3).按下"a" 将内容插入到当前光标所在的位置的后面 4.替换字符 进入命令模式,输入“r”...输入"P"即可在光标位置处的下一行粘贴复制的字符 8.帮助 你可以通过帮助文件具体了解Gvim的神器功能,当然你可以直接在Gvim上获取。
ControlHandle 类记录以下信息: graph:图形对象,记录控制点的左上角位置、宽高、颜色、是否可见,并带了一个点击区域方法; cx / cy:控制点的中点位置; getCursor():获取光标方法...接着 hover 到控制点上,更新光标。并且在按下鼠标时,能够拿到对应的控制点类型,进行对应的旋转或缩放操作。 这里我们需要判断光标的位置是否在控制点上,即控制点拾取。.... /** 获取在光标位置的控制点的信息 */ getHandleInfoByPoint(hitPoint: IPoint) { const hitPointVW = this.editor.sceneCoordsToViewport...关于自定义光标的实现方案,本文不深入讲解,会单独写一篇文章讨论。 坐标系 有个容易忽略的问题,就是控制点是绘制在哪个坐标系中的? 是场景坐标系,还是视口坐标系。...如果你绘制在视口坐标系,宽高不需要考虑,只要转换一下 x,y。如果在场景坐标中,x、y 不用转换,但是宽高要除以 zoom。
开发体验:更高效的开发流程(一)现代布局1. 容器查询技术核心:基于父容器尺寸(而非视口)动态应用样式的响应式设计,通过 @container 定义容器上下文,实现组件级自适应。...开发价值:解耦组件样式与全局视口依赖,提升 UI 模块的复用性与维护效率。...article-container:nth-child(2), .article-container:nth-child(3) { grid-column: span 2; }}普通媒体查询是依据视口的宽度来应用样式的...在下面的 demo 中,文章列表的样式变化是基于容器的尺寸,即便视口大小不变,只要容器尺寸因调整上下文空间而改变,样式就会相应调整,这让布局能实现更精细的响应式设计。2....CJK 标点字符间距: text-spacing-trim 控制 CJK 标点符号相邻字符之间(字距调整)以及文本行开始或结束处的内部间距设置。.
「meta viewport的用法」 通常viewport是指视窗、视口。浏览器上(也可能是一个app中的webview)用来显示网页的那部分区域。...在移动端和pc端视口是不同的,pc端的视口是浏览器窗口区域,而在移动端有三个不同的视口概念:布局视口、视觉视口、理想视口 meta有两个属性name 和 http-equiv name属性的取值 keywords...特别是后台展示数据的时候表格运用是否熟练就显得很重要,一个清爽简约的表格能够把繁杂的数据表现得很有条理。 「2....自定义列表 dl」 定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。...4、dom可操作性区别: 可以通过JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式 5、权重区别: 如果已经存在相同样式,@import
xp 交换字符后面的交换到前面 ~ 更换当前光标位置的大小写...ma 在光标处做一个名叫 a 的标记 可用 26 个标记 (a~z) `a 移动到一个标记 a d`a 删除当前位置到标记 a 之间的内容...n-1 行 x 删除一个字符,光标后 X 删除一个字符,光标前 Ctrl+u 删除输入模式下的输入的文本 多窗口模式 指令...需要注意的是,当我们输入命令中的 “0” 时,Vim 会认为我们要在文本中插入一个 0,并在屏幕上显示输入的“0”;然后当我们执行命令 0-Ctrl-Shift-d 时,Vim 就会意识到我们要做的是减少缩进...当设置成 expandtab 时缩进用空格来表示noexpandtab 则是用制表符表示一个缩进 expandtab 选项,用来控制是否将 Tab 转换为空格, 但是这个选项并不会改变已经存在的文本
2.插入模式 在这个模式下可以输入文本内容到文件中。可以在几种不同的情况下插入字符。...1).删除光标所在位置字符 进入到命令模式,然后输入"x(右边的值删除)" “s(删除并进入插入模式)" "cl(同s)" "dl(同x)" "dh(左边的值删除)" 2).删除光标所在位置全部字符 进入到命令模式...,然后输入"dd",也可以输入"cc",只是它删除完后就会进入插入模式 3).删除光标所在的位置的换行符 进入到命令模式,然后输入"J" 4).删除光标所在某行位置以及后面的所有值 进入到命令模式,然后输入...按下”i“ 将内容插入到当前光标所在的位置的前面 2).按下"o" 将内容插入到当前光标所在的位置的下一行 3).按下"a" 将内容插入到当前光标所在的位置的后面 4.替换字符 进入命令模式,输入“r”...输入"P"即可在光标位置处的下一行粘贴复制的字符 8.帮助 你可以通过帮助文件具体了解Gvim的神器功能,当然你可以直接在Gvim上获取。
对于上面两个问题,这个位置可以取光标所在的位置,但是对于一个EditText输入文本,插入图片这个位置可以分多种情况: 如果光标已经顶在了editText的最前面,则直接插入图片,并且EditText下移即可...如果当前获取焦点的EditText为空,直接在EditText下方插入图片,并且插入空的EditText 代码思路如下所示/** * 插入一张图片 * @param imagePath...if (lastEditStr.length() == 0) { //如果当前获取焦点的EditText为空,直接在EditText下方插入图片,并且插入空的EditText...EditText的位置插入一个空的EditText,以便连续插入多张图片时,有空间写文字,第二个EditText下移 在空的EditText的位置插入图片布局,空的EditText下移。...注意,这个过程添加动画过渡一下插入的效果比较好,不然会比较生硬//获取光标所在位置 int cursorIndex = lastFocusEdit.getSelectionStart(); //获取光标前面的字符串
Ctrl + 向下键 在输出历史记录中向下移动一行 Ctrl + Home(历史记录导航) 如果命令行为空,则将视口移动到缓冲区顶部。...否则,删除命令行中光标左侧的所有字符。 Ctrl + End(历史记录导航) 如果命令行为空,则将视口移动到命令行。否则,删除命令行中光标右侧的所有字符。...笔记 Ctrl + Alt + M 将所选内容复制到 Web 笔记中 F12 打开 F12 开发人员工具 Ctrl + U 查看源 F6 在网页内容和地址栏之间切换焦点 F7 为活动选项卡打开“插入光标浏览...+ C 将选择内容复制到剪贴板 Ctrl + D 插入 Microsoft 绘图 Ctrl + E 向中心对齐文本 Ctrl + F 在文档中搜索文本 Ctrl + H 在文档中替换文本 Ctrl +...+ 小于号 (<) 减小字体大小 Ctrl + Shift + A 将字符更改为全部使用大写字母 Ctrl + Shift + L 更改项目符号样式 Ctrl + 向左键 将光标向左移动一个字 Ctrl
一.编程思想 (1).考虑聊天功能的实现,文本的获取以及显示; (2).窗体制作时需要的控件; (3).考虑是否可以发送空格以及空字符; (4).刚开始进入界面时焦点的位置; (5).获取输入内容鼠标光标跟踪最后一个字符处...; (6).窗口抖动依赖位置的变化进行实现; (6).点击按钮对应的触发事件; ---- 二.代码的实现 1.需要的控件简介: TextBox:允许用户输入文本,并提供多行编辑和密码字符掩码功能;...,要设置不能发送空内容,并且获取焦点,设置发送时显示的发送人以及当前时间和输入的内容 private void button1_Click(object sender, EventArgs e)...this.textBox1.Select(this.textBox1.TextLength, 0);//选择文本框中的文本范围,textlength为获取控件中文本长度...this.textBox1.ScrollToCaret();//将控件内容滚动到当前插入符号位置 } 6.textbox2的设计 private void textBox2_TextChanged
粘贴 ddp 当前行和下一行互换位置 J 合并行 Ctrl+r 重复上一次动作 Ctrl+z 暂停并退出 ZZ 保存离开 xp 交换字符后面的交换到前面 ~ 更换当前光标位置的大小写,并光标移动到本行右一个位置...P,.粘贴ddp当前行和下一行互换位置J合并行Ctrl+r重复上一次动作Ctrl+z暂停并退出ZZ保存离开xp交换字符后面的交换到前面~更换当前光标位置的大小写,并光标移动到本行右一个位置,直到无法移动...,以输入的文本替代指定数目的字符 S 删除指定数目的行,并以输入的文本替代 ncw,nCW 修改指定数目 n 的字符 nCC 修改指定数目 n 的行 删除命令 按键 效果 ndw,nDW 删除光标开始及其后...需要注意的是,当我们输入命令中的 “0” 时,Vim 会认为我们要在文本中插入一个 0,并在屏幕上显示输入的“0”;然后当我们执行命令 0-Ctrl-Shift-d 时,Vim 就会意识到我们要做的是减少缩进...当设置成 expandtab 时缩进用空格来表示noexpandtab 则是用制表符表示一个缩进 expandtab 选项,用来控制是否将 Tab 转换为空格, 但是这个选项并不会改变已经存在的文本