我想为插件的函数编写一个包装器,但它使用了varargs(...).如何将我的函数接收的相同参数传递给插件的函数?
例:
function! PluginInterface(...)
for i in a:000
echo i
endfor
endfunction
function! MyInterface(...)
echo a:1 . ' is great'
call PluginInterface(a:000)
endfunction
echo '>> Their call'
call PluginInterface('hello', 'world')
echo '>> My call'
call MyInterface('hello', 'world')
Run Code Online (Sandbox Code Playgroud) 当我创建一个 virtualenv 时,它会安装 setuptools 和 pip。是否可以将新软件包添加到此列表中?
示例用例:
如何使用pathlib输出带有正斜杠的路径?我经常遇到只接受带有正斜杠的路径的程序,但我不知道如何让 pathlib 为我做到这一点。
from pathlib import Path, PurePosixPath
native = Path('c:/scratch/test.vim')
print(str(native))
# Out: c:\scratch\test.vim
# Backslashes as expected.
posix = PurePosixPath(str(native))
print(str(posix))
# Out: c:\scratch\test.vim
# Why backslashes again?
posix = PurePosixPath('c:/scratch/test.vim')
print(str(posix))
# Out: c:/scratch/test.vim
# Works, but only because I never used a Path object
posix = PurePosixPath(str(native))
print(str(posix).replace('\\', '/'))
# Out: c:/scratch/test.vim
# Works, but ugly and may cause bugs
Run Code Online (Sandbox Code Playgroud)
PurePosixPathpathlib 中没有unlink、glob、 和其他有用的实用程序,因此我不能专门使用它。PosixPath在 Windows 上抛出 NotImplementedError。
这是必要的实际用例:zipfile.ZipFile需要正斜杠,但在给定反斜杠时无法匹配路径。 …
使用文档中的数据存储页面,我试图将一些数据存储到SD卡中.这是我的代码:
// Path to write files to
String path = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/Android/data/"+ctxt.getString(R.string.package_name)+"/files/";
String fname = "mytest.txt";
// Current state of the external media
String extState = Environment.getExternalStorageState();
// External media can be written onto
if (extState.equals(Environment.MEDIA_MOUNTED))
{
try {
// Make sure the path exists
boolean exists = (new File(path)).exists();
if (!exists){ new File(path).mkdirs(); }
// Open output stream
FileOutputStream fOut = new FileOutputStream(path + fname);
fOut.write("Test".getBytes());
// Close output stream
fOut.flush();
fOut.close();
} catch …Run Code Online (Sandbox Code Playgroud) 使用Windows XP和Python 2.7我尝试通过终端运行"pydoc".不幸的是它不起作用.
因为我不允许发布截图(新手).这就是它所说的(白底黑)
我键入的内容:
"C:\Python27>pydoc raw_input /"pydoc raw_input"
Run Code Online (Sandbox Code Playgroud)
我的结果(它是德语,大致翻译为"命令"pydoc"拼写错误或无法找到.):
Der Befehl "pydoc" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
顺便说一下,我刚刚开始使用Zed Shaws"学习Python艰难的方式"自学编程,这是我用谷歌无法弄清楚的第一个问题.我开始相信它不是我的Windows ...(太过于破产而不敢买Mac并且害怕学习Linux).
我最近遇到了一个问题,我看到错误“太多 C 级别(限制为 200)”。
它到底意味着什么?我该如何防止这种情况发生?
我认为这与循环需求有关,但它指向我的代码中创建类的新实例的一行,如下所示:
Class:new()
Run Code Online (Sandbox Code Playgroud)
至于我的模块,我确实有一些循环需求,但我尝试通过将外部类移动到同一个模块中来修复它们,如下所示:
Class.SubClass = Class:new()
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
更新:
这是我遇到的一个例子:
lua类
local Class = {}
function Class:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
return Class
Run Code Online (Sandbox Code Playgroud)
类/Entity.lua
local Class = require('Class')
local Player = require('classes/Player')
local Entity = Class:new()
function Entity:getPlayer()
return Player:new()
end
return Entity
Run Code Online (Sandbox Code Playgroud)
类/Player.lua
local Class = require('Class')
local Entity = require('classes/Entity')
local Player = Class:new()
function Player:getEntities()
local entities = {}
for i = 1, 100 …Run Code Online (Sandbox Code Playgroud) 当我在大型C文件(约8000行)中启用语法时,完成ctrl-p和ctrl-n的速度非常慢(超过20)。当我关闭语法时,完成时间不到一秒钟。
我想出了一种再现这种行为的最小方法。使用一个空的.vim文件夹并仅使用以下几行创建一个.vimrc:
set syntax on
set foldmethod=syntax
Run Code Online (Sandbox Code Playgroud)
当您打开一个大的C文件时,完成(甚至是常规编辑)的速度非常慢。
编辑:
此行为是由于我使用的是Beta版本。我不确定是否应该完全删除此问题,还是将其留给其他人也有同样问题的线索。
我生成我的标签(Exuberant Ctags 5.9~svn20110310),如下所示:
ctags --c++-kinds=+p --fields=+iaS --extra=+q -L ctags.files
Run Code Online (Sandbox Code Playgroud)
我大致有这个类结构:
class RenderObject
{
InterpolatedVector offset;
};
class Quad : public RenderObject
{
};
class KeyframeWidget : public Quad
{
void shiftRight()
{
if (!offset.isInterpolating())
offset.interpolateTo(Vector(offset.x+80, 0), 0.1, 0, 0, 0);
}
};
Run Code Online (Sandbox Code Playgroud)
(代码来自Aquaria的开源版本.)
如果我标记跳转offset(Ctrl- ]),那么我offset在代码库中得到一个列表.输入offset.结束后shiftRight(),OmniCppComplete仅开始提供完成InterpolatedVector.
如何让我的标签像OmniCppComplete一样聪明?
只是标签跳转不使用任何上下文,所以他们只知道符号名称?(它是否完全相同:tag <C-r><C-w><CR>?)是否存在使其具有上下文感知能力的vim替代方案?
我开始使用一个与我现有地图冲突的插件,但我不想重新映射所有地图,我只想添加一个前缀。我以为我可以用 LocalLeader 做到这一点。
Vimdoc 说:
<LocalLeader>就像<Leader>,除了它使用“maplocalleader”而不是“mapleader”。<LocalLeader>用于缓冲区本地的映射。
似乎设置 localleader 的唯一方法是设置一个全局变量(文档没有提到这一点,但b:maplocalleader没有用):
let maplocalleader = '\\'
Run Code Online (Sandbox Code Playgroud)
而且我不知道我如何干净地取消设置该变量(在设置插件后清除它的 autocmd!?)
有没有办法做到这一点?还是 LocalLeader 只提供一个全局前缀和一个特定于文件类型的前缀?
如何使用css 变量来设置画布颜色?
例子:
<html>
<head>
<style>
:root {
--color-bright:#ffca00;
--color-bg:#40332e;
}
body {
background-color: var(--color-bg);
color: var(--color-bright);
}
</style>
</head>
<body>
<center>
<div>
<canvas id="loadingCanvas" oncontextmenu="event.preventDefault()" width="800" height="600"></canvas>
</div>
</center>
This text is actually yellowish.
<script type='text/javascript'>
var loadingContext = document.getElementById('loadingCanvas').getContext('2d');
var canvas = loadingContext.canvas;
loadingContext.fillStyle = "rgb( 0, 0, 0 )";
// Doesn't work (should be brown instead of black):
loadingContext.fillStyle = "var(--color-bg)";
loadingContext.fillRect(0, 0, canvas.scrollWidth, canvas.scrollHeight);
loadingContext.font = '30px sans-serif';
loadingContext.textAlign = 'center'
loadingContext.fillStyle = "rgb( …Run Code Online (Sandbox Code Playgroud) vim ×4
python ×3
android ×1
c ×1
c++ ×1
css ×1
ctags ×1
dependencies ×1
html ×1
ipython ×1
javascript ×1
lua ×1
pathlib ×1
plugins ×1
pydoc ×1
require ×1
sd-card ×1
vim-plugin ×1
virtualenv ×1
windows-xp ×1