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

Android 11 使用第三方 SDK 向其他应用分享文件的注意事项

从 Android 11 开始,使用 分区存储模式 的应用即使拥有 READ_EXTERNAL_STORAGE 权限,也无法再访问外部存储中的任何其他应用的 专属目录 中的文件。...受到这一限制的影响,如果您的应用通过第三方 SDK 分享文件 (例如分享照片给另一应用上的好友) 到其他应用,而这只是将自己专属目录中的文件路径传递给目标应用,目标应用将无法读取该文件。...部分分享 SDK 可能没有正确处理这种情形,没有显式报错只是静默失败 (对方用户都没有意识到这次分享),影响开发者和用户的体验。...如果您的应用需要在 Android 11 其他应用分享文件,请检查您使用的第三方分享 SDK 是否支持通过 FileProvider 进行分享 (现在大部分常用的第三方分享 SDK 均已支持)。...通过 FileProvider,您的应用能够允许第三方应用读取所分享的文件不会受到分区存储的限制。

1.7K10

vim编辑器使用教程

这里提一下,dd不是删除,而是剪切,剪切的内容去了剪切板,不是删掉了 p 和 P 粘贴会出现换行,主要原因是复制整行时,会把行末的换行符也复制下来 n-yy 复制光标所在位置的 n 行,包括光标所在行...其他括号也可以这样 5、查找和替换 1)查找 /+findname 命令模式下查找 按回车键启动查找后, 按 n,会自动找下一个, N 跳到上一个查找光标所在单词 光标目标单词时, *或者#查找下一个...Ctrl-n 下一条命令 6、自动缩进 gg=G (命令模式) 在这之前要进行 vimrc 修改,不然自动缩进是 8 个空格 ubuntu 的 vimrc 位置/etc/vim/vimrc 文件末尾添加三行...: set tabstop=4 //设置制表符宽度为 4 set softtabstop=4 // 设置软制表符宽度为 4 set shiftwidth=4 // 设置缩进空格数为 4 效果: ①、自动缩进前...使用:qall 退出所有窗口 8、其他vim 中跳转 manpage:命令模式下 将光标放在待查看单词,按 K,默认看第一卷,n+K,查看第 n 卷 查看宏定义: 命令模式 光标放在待查看词

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

vim 从嫌弃到依赖(6)——插入模式

另外vim提供了其他几种方式插入模式中向前删除单词、行 : 删除光标前一个词(与退格键相同) : 删除光标前一个单词 : 删除至行首 插入-...某些情况下替换可能会导致代码格式错乱,如果代码中某些位置存在制表符制表符的宽度会根据tabstop 的值不同,而显示不同,例如vim 默认的制表符占8个空格,如果我们使用R 进入替换模式,替换tab...如果不希望长度变化,vim提供了一种被称之为虚拟替换模式的方式,可以使用 gR 进入,这样再替换制表符的话,制表符被替换为一个字符+ 多余的空格,源文本长度不变。...至于虚拟替换模式解决tab 的问题,我更喜欢使用一些配置将tab 键改为空格,这里我们配置文件中再添加几行 -- nvim lua 配置 vim.o.softtabstop = 4 vim.o.shiftwidth...tab替换为4个空格,并且一些代码中,如果加入了自动缩进的属性,输入下一行的时候它会自动以4个空格进行缩进 到这里,插入模式下的一些内容都介绍完了,插入模式主要用来做文本输入,与在其他编辑器中输入文本相比并没有太大的区别

53740

如何在Linux 的 Vim 中将缩进宽度设置为 2 或 4 个空格

Vim 是几十年来最流行的基于终端的文本编辑器之一。但无论你使用 Vim 多久,总会有更多你不知道的技巧和窍门。这是关于 Vim 中将缩进宽度设置为 2 个空格或 4 个空格。...您的 vimrc 文件(位于 ~/.vimrc)中,添加以下行以 Vim 中自动使用 2 个空格不是制表符。...反之亦然:使用制表符进行缩进服务于站在“制表符空格”两侧的人,现在让我们看看如何使用制表符不是空格来缩进。...不是expandtab....该noexpandtab选项可防止将制表符转换为空格。结论以上所有内容都适用于新文件,要在 Vim 中将当前打开的文件中的制表符转换为空格,请按 Esc 键进入 Normal 模式。

5.8K00

linux常用工具vivim的使用完整版

其中编辑一些配置文件,及查看日志时,常用的工具就是 vim 和 less ,而且它两的快捷键又很相似,所以学会 vim 的使用还是挺必要的。 预期读者 运维,开发、及想对 linux 进阶的人。...o 另起一行插入 a 后面一个字符插入 r 替换输入。...这个改单个字符很有用,因为它只替换一个字符又变回一般模式了 常用按键及功能 下面的指令是区分大小写的 移动游标的方法 (一般模式) ↑→↓← 右下左移动,5↓ 向下移动 5 行 ctrl + f...command 执行命令,在编辑文件的时候可以查看一些信息不需要退出文件 :set nu 显示行号,:set nonu 不显示行号 练习一下 wget 'http://linux.vbird.org...如果需要使用空格来表示制表符则需要加以下几个配置 set expandtab 使用空格来表示缩进,不是制表符 set softtabstop=4 退格的时候,如果遇到四个连续的空格,一次性删除,不是一个一个的删

84521

Linux基本工具——vim

,但是linux机器只需要一行命令即可,并且还不容易出错。...如果你想显示vim的行号可以底行输入 set nu/nonu vim还有分屏的操作 vs 你想要分屏的文件 我是test.c文件vim底行下进行分屏的,分屏的文件是baiye.c...搭配vim环境 我们在用vim的时候很不爽,因为没有自动补齐等等一些东西,所以需要让他和VS编译器差不多用起来才舒服。..." 设置软制表符宽度为4 set shiftwidth=4 " 设置缩进的空格数为4 先用上面的做演示,vim下 " 是注释的意思。...保存退出之后先用source .vimrc测试一下: 没问题,用vim打开一个文件试试: 这里我使用tap看看位移多少个空格 配置vim的本质就是修改自己的vimrc。

6.8K00

Linux中vi与vim编辑操作

命令直接打开文件到达 26 行, vi 编辑器中也可以输入 :26 跳转到 26 行 {:按段移动,移 }:按段移动,下移 Ctr-d:向下翻半屏...高级操作 2.1 从一个文件复制n行到另外一个文件 1)打开源文件,光标定位到要复制的第一行(光标所在行为复制的第一行),输入”anyy 其中”为引号,a为变量名,用其他字母或数字均可,但只能有一位,n.../错误和编辑间切换 这不是什么难事,只是个小技巧 比如vim test.c 编辑了一个程序后,退出,用gcc -o test.o test.c 命令编译,发现有警告或者错误,又要用vim test.c命令来修改...shiftwidth=4 " 设置缩进的空格数为4 set autoindent " 设置自动缩进:即每行的缩进值与一行相等 set cindent..." 使用 C/C++ 语言的自动缩进方式 set cursorline " 突出显示当前行 set expandtab " 空格代替制表符

3.1K20

Vim文件加行号,这通惊为天人的操作没sei了!文末天书慎点

此外,还提供了打印行号的选项(Vim 可以打印带有数字的行,并且不需要文件有数字)。 ?...Vim 可以使用 :s 命令每行之前插入行号: :%s/^/\=printf('%-4d', line('.'))...如果您只想给非空行编号(它会找到一行的开头,后面跟着一个不是空格的字符),请使用以下代码: :'s/^\S/\=printf("%d....注:' 是由 Vim 插入的。 :'!nl -ba 使用 nl 实用程序时,默认情况下最多会添加 6 个前导空格,数字与行内容之间用一个制表符分隔。..." 创建一个菜单选项,用于文件内调用 Perl 。 " 在按下回车键之前,剪辑脚本的 -e 选项。 " 下面这行东东,shell下一样用。

2.4K20

为什么要选择Vim编辑器

5、整个文件里面有效移动光标 VIM 有很多命令,可以用来到达文件里面你想到达的地方。下面是一些文件里面移动的命令: :向下移动一屏。 :向下移动半屏。...这样当然可以进入插入模式,但通常不是那么合适,因为 VIM 提供了很多进入插入模式的命令。...切换标签列表窗口状态(打开←→关闭),标签列表窗口是否获得焦点取决于其他配置 ctl-w + w 或ctl-w + 方向键 窗口切换(taglist本质是一个vim分隔窗口,因此可以使用ctl-w... Vim 里,通过 cscope 查询结果来跳转就象跳转到其他的标签完全一样;它被保存在标签栈里。这样你就可以象使用 |tags| 一样函数等等之间便捷的跳转。...我说:不可同日语。   连UltraEdit和EditPlus都没用过的同学问:它们就相当于Linux的 Notepad吧?我说:请你从我的眼前消失。

1.3K30

解决vivim粘贴中会在行首多很多缩进和空格的问题。

所以当你的服务器的vi/vim设置为autoindent的话, i 模式下,那么它会将SecureCRT传输而来的这些字符串再进行一下缩进。...若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,被缩进。 原因:一般的vi/vim都默认设置为set nopaste。...解决办法: 1,拷贝前输入:set paste        (这样的话,vi/vim就不会启动自动缩进,只是纯拷贝粘贴。)... GUI 里,Vim 知道何者来自粘贴,即使不打开 'paste' 也基本不会做错。对 Vim 能自己处理鼠标点击的终端也是如此。 启动 GUI 时复位本选项。...所以如果你 .vimrc 里置位它,可以使它在终端里工作,但不是 GUI 里。 GUI 里置位 'paste' 有副作用,例如:Paste 工具栏按钮插入模式下不能工作,因为它使用了映射。

2.9K20

Linux 之 Vim 编辑器从基础到大成使用

o #光标所在行的下方插入空行并进入插入模式 O #光标所在行的上方插入空行并进入插入模式 s #删除光标指定的字符并进入插入模式 S #将光标所在行清除并进入插入模式 注意事项: 大 S 是清除所在行不是删除...ctrl+r # 可以修改返回的状态(可以按多次),回到修改后的状态 注意事项: 上面所有的“删除”操作并不是真的删除,它们事实是存放在 VIM 的一个缓冲区(VIM 把它称之为寄存器)中,相当于...) 描述:vi中有许多的字符串补齐命令, 非常方便TAB系统就会自动将剩下的字符补齐;需要注意的是命令必须在插入模式下运行; 如果需要匹配其他的语言扩展则需要安装; #此命令会在所有在这个vim 程序中打开的文件中进行匹配...与 ctrl + x + f 进行文档和路径的自动补齐,还能补齐其他一些编程语言,但是需要额外的关键词的包; autocmd 命令十分的强大实现对不同的文件格式应用不同的配置,可以新建文件时自动添加上版权声明等等...巨坑 (1) vimrc配置文件无法识别.py后缀路径 原因:Vim 称 *.py 文件的 filetype 为 python 不是 py; 解决方法: #方式1 au BufRead,BufNewFile

1.9K10

Vim编辑器基础入门

o #光标所在行的下方插入空行并进入插入模式 O #光标所在行的上方插入空行并进入插入模式 s #删除光标指定的字符并进入插入模式 S #将光标所在行清除并进入插入模式 注意事项: 大 S 是清除所在行不是删除...ctrl+r # 可以修改返回的状态(可以按多次),回到修改后的状态 注意事项: 上面所有的“删除”操作并不是真的删除,它们事实是存放在 VIM 的一个缓冲区(VIM 把它称之为寄存器)中,相当于...) 描述:vi中有许多的字符串补齐命令, 非常方便TAB系统就会自动将剩下的字符补齐;需要注意的是命令必须在插入模式下运行; 如果需要匹配其他的语言扩展则需要安装; #此命令会在所有在这个vim 程序中打开的文件中进行匹配...与 ctrl + x + f 进行文档和路径的自动补齐,还能补齐其他一些编程语言,但是需要额外的关键词的包; autocmd 命令十分的强大实现对不同的文件格式应用不同的配置,可以新建文件时自动添加上版权声明等等...巨坑 (1) vimrc配置文件无法识别.py后缀路径 原因:Vim 称 *.py 文件的 filetype 为 python 不是 py; 解决方法: #方式1 au BufRead,BufNewFile

1.7K20

Vim 3 vimrc

配置到 vimrc 中, 每次 Vim 启动时都会自动读取并执行, 所以可以自动生效. 那么 vimrc 文件在哪呢?...Vim 安装时, 会自动安装目录下生成一个 _vimrc 文件, 也就是 VIM/_vimrc, 即 “第三用户 vimrc 文件”, 其他 vimrc 文件都是不存在的, 所以一般来说修改 VIM...=4 " 把制表符转换为多个空格, 具体空格数量参考 tabstop 和 shiftwidth set expandtab " 在行和段的开始出使用 Tab set smarttab " 合并两行中文时...接下来解释一下上面的命令干了什么: 首先使用 map 命令进行按键映射, 要映射的键是 , 然后空格后面的内容就都是新的按键序列了, G 移动到最后一行, o 开始一个新行并进入插入模式, 然后插入文本...很简单, 把配置写在 vimrc 中就可以了, 下面是我的一些按键配置: " 将 kk 配置成 esc, Esc 键太远了, 从插入模式到普通模式, 连续按两次 k 即可 inoremap kk <esc

2.9K30

【Linux】linux工具和命令

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows的安装程序)放在一个服务器, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装....主要应用在Fedora, RedHat, Centos等发行版. 1.yum安装 yum安装使用yum前,必须确定是否联网//查看是否ping的通 其他网站ping www.baidu.com 2.Linux...,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。...=4 " 设置软制表符宽度为4 set shiftwidth=4 " 设置缩进的空格数为4 set autoindent " 设置自动缩进...操作总结 1.三种模式 正常模式 插入模式 底行模式 2. vim操作 打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

21120

关于vim的简单设置以及使用技巧

vim快速指南: vim 使用技巧: 1、认识.命令 最理想的编辑模式:一次按键移动,一次编辑操作 .命令可以重复一次的修改操作 普通模式下: j切换到下一行 A切换到本行的行末,并进入插入模式...例如:需要在+号前后各加一个空格,这样可以先删除+,然后输出空格+空格使用.命令替换     var Andy = "method("+argu+","+argu2+")"----》 var foo...也就是光标在那个位置,进行的修改操作才可以使用.命令 2.普通操作 普通模式下其他一些快捷键的操作:   根据光标位置不同,删除一个单词操作:     光标最后:db命令,删除从光标起始位置到单词开头的内容...shell vim 管理多个文件:     注意:vim中对多窗口的操作都是ctrl+w的前提下     ctrl+w+v 拆分竖屏     ctrl+w+s 水平拆分     ctrl+...vimrc set ts=4 sw=4 expandtab            (设置tab宽度,tabstop=4 shiftwidth=4 expandindent空格代替制表符) set autoindent

88090

这可能是最全最实用的Vim操作集合

比如我们用 Vim 打开一个文件,默认进入的就是正常模式,模式之间的切换: 按 ESC 键总是可以切换到正常模式,正常模式下是无法编辑文本的;不过正常模式下可以有其他操作,后面再具体展开; 只能从正常模式进入插入模式...其他一些常用基本的跳转类操作还有比如: # 跳回之前位置 ctrl + o # 会回退上面的跳动 ctrl + i # 返回一次插入文本的地方 gi # 返回上一个修改位置 g; # 返回下一个修改位置...(注意你当前终端里): exit 7.2 Vim 锁定 以前 Windows 系统的时候,喜欢编辑完后按 Ctrl+s 来保存文档,这是个很好的习惯,但是 Vim 中却不是了,因为这个操作正常模式下会让你的...# 插入模式下 ctrl + n “注:这种代码补全方式是基于 vim 当前打开的所有文件的相关字符串,不是真正的比如某种变成编译的内置函数之类可以自动找到并补全。...对于单词生效的配置,我们可以命令模式下设置即可,比如你想要临时关闭行号显示 : :set nonu。 vimrc 文件Vim 编辑器的全局配置,且每次打开 Vim 都起作用。

2K20

设置Python代码格式

缩进: PEP 8建议每级缩进都使用四个空格,这既可提高可读性,又留下了足够的多级缩进空间。字处理文档中,大家常常使用制表符不是空格来缩进。...对于字处理文档来说,这样做的效果很好,但混合使用制表符空格会让Python解释器感到迷惑。每款文本编辑器都提供了一种设置,可将输入的制表符转换为指定数量的空格。...你在编写代码时应该使用制表符键,但一定要对编辑器进行设置,使其文档中插入空格不是制表符程序中混合使用制表符空格可能导致极难解决的问题。...如果你混合使用了制表符空格,可将文件中所有的制表符转换为空格,大多数编辑器都提供了这样的功能。...专业程序员通常会在同一个屏幕打开多个文件,使用标准行长可以让他们屏幕并排打开两三个文件时能同时看到各个文件的完整行。

1.6K20

linux 之 vi,vim 命令

vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...Ctrl+b 向文件首翻一屏幕 Ctrl+d 向文件尾翻半屏幕 Ctrl+u 向文件首翻半屏幕 插入命令 按键 效果 i 光标前...缩进 Normal Mode 下,命令>>将对当前行增加缩进,命令<<则将对当前行减少缩进undefined命令前使用数字,来指定命令作用的范围 5<< Insert/Replace Mode...会认为我们要在文本中插入一个 0,并在屏幕显示输入的“0”;然后当我们执行命令 0-Ctrl-Shift-d 时,Vim 就会意识到我们要做的是减少缩进,这时 0 会就会从屏幕消失 vim tab...当设置成 expandtab 时缩进用空格来表示noexpandtab 则是用制表符表示一个缩进 expandtab 选项,用来控制是否将 Tab 转换为空格, 但是这个选项并不会改变已经存在的文本

6.9K00

【学员分享】程序员效率神器,最常用VIM插件安装大全

本文默认大家理解了vim的normal模式和插入模式、基本的打开保存文件方法、github安装完成。如果不知道,请看言有三老师公众号《AI白身境》的文章。..."显示行号 set cursorline "高亮显示当前行 “说明:可以单个设置,保存后,再打开看效果,很有成就感 #编辑设置 set expandtab "扩展制表符号为空格...set tabstop=4 "制表符空格数 set softtabstop=4 "将连续数量的空格视为一个制表符 set shiftwidth=4 "自动缩进所使用的空白数 set...3.3 安装vim-powerline(状态栏主题插件) .vimrc文件内添加如下代码,添加插件,设置插件 Plugin 'Lokaltog/vim-powerline' "状态栏主题...(pkg=package) python-dev或者其他*.devel软件一般都是C语言编写的一些文件或cpp文件,往往是其他模块或这我们自己写的模块在编译时,需要依赖这些*-devel软件包。

1.6K10

你一定遇到过Python中的无效语法:SyntaxError---常见原因以及解决办法

当代码同一文件中同时使用制表符空格时,将引发一个制表符错误。在后面的小节中,您将进一步了解这些异常。...当您在REPL中尝试从文件中执行这段代码时,您看到的异常和回溯将是不同的。如果这个代码一个文件中,那么您将得到重复的代码行和指向问题的插入符号,正如您在本教程的其他情况中看到的那样。...SyntaxError的另一种类型是TabError,只要有一行包含制表符空格作为缩进,文件的其余部分包含制表符空格,就会看到TabError。这可能会隐藏起来,直到Python指出来!...: 4 print(i) 5 print('done') 6 7 foo() 在这里,第5行是用制表符缩进的,不是用4个空格。...它清楚地告诉您,同一个文件中,制表符空格用于缩进。 解决这个问题的方法是让同一Python代码文件中的所有行都使用制表符空格不是同时使用制表符空格

25.5K20
领券