首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VIM 常用快捷键

而且写文件、查找翻页什么 比我用鼠标快多了,那熟练快捷键看我一愣一愣 ---- 光标移动: h或退格: 左移一字符; l或空格: 右移一字符; j: 下移一行; k: 上一行; gj: 移动到一段内下一行...w: 前单词,光标停在下一单词开头; W: 移动下一单词开头,但忽略一些标点; e: 前单词,光标停在下一单词末尾; E: 移动到下一单词末尾,如果词尾有标点,则移动到标点; b:...n%: 到文件n%位置。 zz: 当前行移动到屏幕中央。 zt: 当前行移动到屏幕顶端。 zb: 当前行移动到屏幕底端。...在当前位置插入另一个文件内容。...d0: 删除(剪切)当前位置到行首内容 p: 在光标之后粘贴。 P: 在光标之前粘贴。 查找和替换 /something: 在后面的文本查找something。 ?

23.9K22

纯JS实现在一字符串b查找另一个字符串a出现所有位置,并且不使用字符串方法(递归)

问题:判断字符串A在中所有出现字符串B(长度大于1)索引。...,和arr1索引字符相同相同 // 既然第一索引相同,我们这里就声明一变量num,让变量num依据arr2长度去递增 var num...= 0 function ccc (arr) { // 第一索引相同,让他们索引分别加上变量num,去比对他们索引后面的位置是否相同...举个从小就听过例子:从前有座山,山里有座庙,庙里有和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有和尚,和尚在讲故事,从前有座山...   其实递归,就是在运行过程调用自己。...一过程或函数在其定义或说明中有直接或间接调用自身一种方法,它通常把一大型复杂问题层层转化为一与原问题相似的规模较小问题来求解,递归策略只需少量程序就可描述出解题过程所需要多次重复计算,大大地减少了程序代码量

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android 高德地图API(详细步骤+源码)三

在高德这种坐标转地址称之为逆地理编码 ① 逆地理编码 上面已经说过了,逆地理编码就是坐标转为地址,坐标刚才已经拿到了,就是经纬度,下面来转换一下吧。...(animation); marker.startAnimation(); 添加位置如下图所示: [在这里插入图片描述] 上面的代码要注意导包问题,不是Android自带包而是高德SDK...⑨ 改变地图中心点   我们在实际使用通常会有这样操作,希望点击一下就可以移动到所在地,这其实是比较容易做到,回顾我们现在是一进入地图就会定位到当前所在地,而当我点击地图上其他位置时,会增加一标点...) { // CameraPosition 第一参数: 目标位置屏幕中心点经纬度坐标。...,对象需要四参数,在注释已经说明了,然后通过CameraUpdate配置一位置改变对象,传入刚才cameraPosition。

3.6K31

Jetpack DragAndDrop 库——拖放操作如此轻松!

拖放 是最基本手势操作,用户可以点击并按住图片、文本或其他数据元素,然后将其拖动至另一个应用 (或者同一应用其他位置) 并松手,即可将数据放置到新位置上。...△ 简单拖放示例 虽然 Android 很早以前便一直支持拖放操作 (DragEvent 在 Android 3.0 即 API 级别为 11 引入),但事实证明实现对处理手势、事件、权限和回调全面支持并不容易...对用户而言,数据从一应用拖动到另一个应用是很自然体验,因此用户在 分屏或窗口模式 下使用应用可以更有效地进行多任务处理。...虽然平台本身支持从 EditText 拖动文本,但我们强烈建议支持用户从应用其他组件拖动任何图片、文件和文本。同样重要是,我们也鼓励支持用户数据拖放至您应用。...△ 从一应用动到另一个应用 DropHelper 和 DragStartHelper 结合使用,可以更轻松地处理手势支持、回调、样式和像素完美对齐。

1.3K20

Vim命令使用说明

基本移动 h或退格: 左移一字符; l或空格: 右移一字符; j: 下移一行; k: 上一行; gj: 移动到一段内下一行; gk: 移动到一段内上一行; +或Enter: 把光标移至下一行第一非空白字符...w: 前单词,光标停在下一单词开头; W: 移动下一单词开头,但忽略一些标点; e: 前单词,光标停在下一单词末尾; E: 移动到下一单词末尾,如果词尾有标点,则移动到标点; b:...n%: 到文件n%位置。 zz: 当前行移动到屏幕中央。 zt: 当前行移动到屏幕顶端。 zb: 当前行移动到屏幕底端 标记 使用标记可以快速移动。...I: 在当前行第一非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件内容...:[n]r filename在第n行插入另一个文件内容。 :r !date 在光标处插入当前日期与时间。同理,:r !

2.6K10

C盘爆满,如何移除软件~

至于C盘,我还真建议软件全装C盘.因为好多依赖,默认选项等等.不过.matlab 真得换个地方装,好大说.就是你弄一50G小盘,这个盘装绿色版软件.软后把快捷方式定向到桌面....自述文件 自由移动 自由移动目录,而不会破坏安装或快捷方式 您可以使用此工具默认情况下安装在C:\上程序移动到另一个驱动器上,以节省主驱动器上空间。...这个怎么运作 文件被移动到位置符号链接从旧位置重定向到新创建。任何试图访问旧位置文件程序都会自动重定向到新位置 下载 ?...要回目录,请参阅自述文件最后一部分。 也就是说,移动前面提到目录包含目录应该不会引起任何问题。...卸载程序正常运行,在您将程序移至位置保留一空目录,并在原始位置保留目录链接,然后可以手动删除这两目录 回程序 删除旧位置联结(这不会删除内容),并将目录回其原始位置 ?

1.7K30

C++ Qt开发:Charts折线图绑定事件

Qt 是一跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt我们可以通过拖拽方式将不同组件放到指定位置,实现图形化开发极大方便了开发效率,本章重点介绍QCharts折线图常用方法及灵活运用...透明度调整使得图例标记在图表可视效果更符合数据系列可见性。如下图所示,我们只保留一十五分钟负载,前两隐藏掉。...你可以在该函数处理键盘抬起时逻辑,如释放某个按键状态。 在附件笔者代码整理成了Keyboard and mouse文件,读者可自行打开该文件编译运行观察键盘鼠标事件是如何被重写。...,通过左键拖拽方式则可以选择一矩形区域并对该区域进行放大与缩小操作,按下鼠标右键则调用zoomReset()图形恢复到默认大小; 由于程序绑定了keyPressEvent键盘监控事件,当按下键盘上下左右时则通过...scroll()调整图形位置,通过按下小键盘+-符号则通过scroll()放大与缩小图形,通过按下Home则恢复到默认大小;

31910

突破传统动画:探索MotionLayout独特优势

Android提供了丰富动画功能,而MotionLayout作为Android Jetpack组件,为我们带来了更强大、更灵活动画工具。...本文深入介绍MotionLayout使用和原理,帮助您掌握这个令人兴奋技术。 什么是MotionLayout?...layout_constraintEnd_toEndOf="parent"/> 通过这个XML文件,我们定义了ImageView从一初始位置动到结束位置动画效果...Transition:Transition定义了从一ConstraintSet到另一个ConstraintSet过渡效果。您可以设置过渡持续时间、关键帧动画等。...KeyFrameSet:KeyFrameSet用于定义过渡关键帧。关键帧是动画过程特定时间点,您可以在关键帧上设置视图属性,例如位置、旋转、透明度等。

26940

移动测试Appium之API手册

: Appium Pythonwebdriver客户端是依赖selenium2webdriver Appium-Python-Client定义和实现了针对android和ios移动设备专用方法...只要是selenium2定义webdriver方法在移动设备端可用,那么在移动测试时,可以直接用 API说明 下面我们把上述API以一表格方式进行说明,以便后续大家在使用appium进行自动化测试时使用...描述:从一元素位置动到另一个元素位置 用法:driver.scroll(el1, el2) 函数:drag_and_drop 参数:origin_el, destination_el 描述:元素从一位置拖曳到另外一位置..., end_y, duration=None 描述:从一位置到另外一位置滑动屏幕 用法:driver.swipe(100, 100, 100, 400) 函数:flick 参数:start_x, start_y..., end_x, end_y 描述:从一位置到另外一位置快速滑动 用法:driver.flick(100, 100, 100, 400) 函数:pinch 参数:element=None, percent

1.6K90

【盟友分享】vim学习之路-vim基本操作

不用鼠标很难受,大家是不是有同感,不过在我接触学习vim后我看法彻底被改变了。我就以我学习经历从一新手开始,一步一步为大家带来我vim学习之路。 如果你不是刚开始学习vim请略过此段。...,并更新文件修改时间) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反操作 移动操作: j 下移一行 k 上一行 h 左移一列 l 右移一列 0...移动到开头 $ 移动到结尾 w 移动到下一单词开头 e 移动到下一单词结尾 fx 移动到本行之后第一出现x字母位置 tx 移动到本行之后第一出现x字母前一位置 gg 跳到文件首 G 跳到文件尾...zz把当前位置处于屏幕正中央。 zt 把当前位置处于屏幕顶端。助记:top。 zb 把当前位置处于屏幕底端。助记:bottom。...i 进入插入模式,当前插入光标位置插入 a 进入插入模式,下一光标位置插入 o 进入插入模式,在当前行下一行插入 O 进入插入模式,在当前行上一行插入 可配置vim成鼠标光标定位模式 可视化模式 :

2K60

『App自动化测试之Appium应用篇』| Appium常用API及操作

(KeyCode)1.2 关于KeyCode以上press_keycode方法传入参数KeyCode,而KeyCode是对应键值码;其可以传入对应键值名,也可以传入具体键值名值(对应数字)。...# 搜索键或者可以使用keyevent方法:driver.keyevent(66) # 回车键driver.keyevent(67) # 退格键2 swip方法2.1 swip说明swip()方法是从一坐标位置动到另一个坐标位置...()方法是从一元素滑动到另一个元素,直到页面自动停止;使用方法为: def scroll(self, origin_el: WebElement, destination_el: WebElement...AppiumBy.XPATH, "//*[@text='密码']")driver.scroll(user_name, user_passwd)4 drag_and_drop方法drag_and_drop()方法从一元素滑动到另一个元素...,第二元素代替第一元素原本屏幕上位置;使用方法为: def drag_and_drop(self, origin_el: WebElement, destination_el: WebElement

58320

vim带你装逼带你飞(二)

: 在代码光标的移到该串上后 先按 ctrl+/ 然后 c: 查找该函数被调用位置 d: 查找该函数调用了哪些函数 e: 查找指定正规表达式 f: 查找指定文件 g: 查找指定标识符定义位置...打开过文件间切换 ? 在浏览模式下输入shift + : 输入 b 5 就会跳到Android.mk这个文件,也可以直接使用Tab按键切换(这个窗口在打开多个文件后出现) 4....代码行快速移动 浏览模式下 j(下移一行)k(上一行)h (左移一列)l (右移一列) shift + h (移到行首) shift + l (移到行尾) gg (移动到文件开始) shift+g...(移动到文件最后) shift + f (下翻一屏) shift + b (上翻一屏) 先输入数字 然后 shift + g(直接跳转到该行) w (后移一字符串) b (前字符串) 5....查找替换 shift + * 当前字符 串(字符串高亮) n (下一出现位置 ) shift + n (上一出现位置) %s/string1/string2/g 命令模式下将该文中所有string1

93460

gradeview可拖动效果实现

这里我以前转载一篇或许会有帮助:Android事件分发机制完全解析,带你从源码角度彻底理解(全) 3.了解位移动画Animation,本DEMO主要用到:TranslateAnimation...终点位置另一个GridView最后ITEM position + 1位置。 并赋予移动动画,等动画结束后对2者对应频道列表进行数据remove和add操作。 4.  ...(3) 抬起手后,清除掉拖动时候创建view,让GridView数据显示。 6.  退出时候,改变后频道列表存入数据库。...mVibrator = (Vibrator) context                   .getSystemService(Context.VIBRATOR_SERVICE);   // 布局文件设置间距...);// 手指在屏幕上X位置-手指在控件位置就是距离最左边距离                     dragOffsetY = (int) (ev.getRawY() - y);// 手指在屏幕

2.4K80

ConstraintLayout2.0一篇写不完之Carousel

我们要设置previous状态,以使A,B,C,D位置现在位于B,C,D,E所在位置,并且视图从左向右移动。...在next状态,需要相反情况发生,与B,C,D,E移动到其中A,B,C,D分别为和观点从从右向左移动。 至关重要是,start状态必须恰好位于原始视图起始状态。...这种无限轮播错觉方式,实际上是实际视图回它们位置,然后使用新匹配内容将其重新初始化。...下图显示了这种机制(请注意“ item#”值): 转场Transitions 在ConstraintSet定义这三状态,在start和next,以及start和previous之间创建两Transitions...Scene,我们只需要在布局添加一Carousel Help并引用这些视图即可(以实现上一/下一动画顺序)。

1.4K20

基于go实现冒泡排序

一、了解冒泡排序冒泡排序,顾名思义就是一种以两两比较为基础分类方法。因为它从一数组 循环比较相邻两元素,如果逆序,则进行两元素间交换。用go来写代码片段如下。...因为他要执行两次for循环,每次for长度都是跟数组长度有关系水泡有可能起初位置在水中间,那么水泡移动到水面上,它可能不需要水深(即数组长度)。...但是其他元素都是有序,所以不进行任何移动。循环执行操作1,这里会看到0位置不断往上,知道操作1 执行完9遍之后,0位置在水面上。...例子2 数组[1,2,3,0,4,5,9,6,7,8]这个例子我们看下两元素位置乱序,其他元素相对有序情况。元素0和元素9在数组位置都不对。...例子3 完全乱序我们在看一完全随机乱序例子三 完整go代码最后最后,贴下这个golang实现冒泡排序代码。这里对a数组进行排序,然后排序好数组打印出来。

15310

Android 百度地图SDK 自动定位、标记定位

(bundle);//bundle值传入marker,给baiduMap设置监听时可以得到它 //点击地图之后重新定位 initLocation...类型变量,分别是标点经度和纬度,当一开始进来时候判断是否等于0,如果是,则使用自动定位,如果不是,则使用标点定位,我在点击地图时,获得位置坐标赋值给了这两变量,所以当你点击其他地方时候就会马上定位过去...然后你再看看平台上开发版SHA1 你都不用全部看完,只要有一鉴权失败,铁定就不行,那么只要改变一下平台上开发版SHA1就可以了,复制刚才控制台中SHA1,然后粘贴到平台这个输入框,...然后你会发现,还是在几内亚湾,不过你看Run报错已经没有了,不过还有一错误,我之前写这个文章时候这个地图SDK还不需要我写数据,所以我就没有动态请求权限,而现在又要了,很明显是百度的人动了手脚...以下和动态权限请求允许之后调用initLocation()进行定位,然后在onCreate调用 最后在AndroidManifest.xml增加一静态权限。

2.2K21

75.颜色分类——题解(执行用时击败90% ,内存消耗击败 78%)

注意:不能使用代码库排序函数来解决这道题。...观察题目描述和题目示例输出,0排在序列最前面,2排在序列最后面,因此,在扫描数组时,我们可以判断当前数字值: 如果是0,就往数列前部移动; 如果是2,就往数列后部移动。 问题2:如何前后移?...此时抛出另一个问题:往前部移动,移动到哪里呢?往后部移动,又移动到哪里呢? ——设置两标记flag0和flag2。...初始化完毕后,接下来开始扫描过程(即更新标记flag0和flag2过程): 如果当前元素是0,当前元素与索引为flag0元素互换位置,flag0++; 如果当前元素是2,当前元素与索引为flag2...元素互换位置,flag2--。

42720
领券