长期使用vim的用户,您是将手指放在正常模式jkl;
还是hjkl
处于正常模式?
标准触摸打字告诉我们右手的原位,食指上有食指j
,所以你的手指都在jkl;
.
但标准的vim运动键是hjkl
.
10年后我回到了vim (omg,当我没有注意的时候我老了)并发现自己倾向于hjkl
......但是这样就更难输入右上角的字母,大括号等等.我想训练自己现在使用最有效/最实用的方法,而不是以后重新训练.
长期,铁杆vim用户,最佳做法是什么?
注意:
我想试试emacs的组织模式.我完成这项工作的最短途径是什么?假设以前没有使用emacs的经验.
(我知道其他编辑,比如vim和textmate,有类似的任务列表.我特别感兴趣的是了解emacs org-mode)
我的笔记本电脑运行Win7 Home Premium x64
如何在不将临时文件写入服务器或依赖第三方库或类的情况下直接生成KML文档并将其返回到浏览器?
我公司给了我VS2008用于C#/ ASP.NET的Web开发.我也做了很多Perl编程,我想开始使用VS,因此我可以拥有一致的工作环境......但是我确实很难找到如何做到这一点.
VS有许多不错的功能,但似乎对它不支持开箱即用的语言充满敌意.是真的还是我不是"得到"VS的做事方式?
我通常使用TextPad编写Perl脚本,而我以前使用的功能非常基本.
我如何在VS2008中至少获得上述功能?
如何获得以下高级功能:
(我在ASPN mod-perl邮件列表中看到一个可能相关的在线讨论,但是不明白,对于像我这样的人来说,这意味着什么.)
-添加-
我知道其他编辑器和IDE那里的:六,perlmode-emacs的,科莫多,E,是TextMate等,这问题不是什么其他的编辑器或IDE我应该尝试.
虽然我很感激你的建议,但我宁愿在一个帖子中阅读它们,比如"我应该为Perl使用什么编辑器",而不是"如何设置VS来实现我的目标"
- 补充 - 经过一些额外的研究后,我得出结论,你无法从这里到达那里.唯一的选择是编写我自己的语言插件.考虑到使某些东西可用的时间,我认为我最好使用不同的编辑器.无论如何,谢谢你们
我需要为WinXP编写一些脚本来支持Big Financial Corp.的一些分析师.请帮我确定哪种类型的Windows脚本最适合我的需求.
我的需求看起来很简单(无论如何对我来说)
从我对我的选择的匆忙审查,看起来我的选择
我没有时间学习或深入研究这些(或者其他任何可用的标准WinXP安装).我迫切需要尽快选择和破解一些东西.
(目前的危机是需要运行给定的应用程序,传递几个日期参数).
一旦目前的危机结束,就会有更多这样的要求.
帮助我Obi Wan Stackoverflow ...你是我唯一的希望.
[edit]我目前的技能包括Perl,Javascript和Java,所以我最喜欢使用类似的东西
[编辑]好的.我将尝试在JScript中编写WSH文件.谢谢大家......一旦事情在这里安定下来,我会让你知道它是怎么回事(并想出一个接受答案).
[编辑]最终都解决了.感谢快速响应的人们.这是我给用户的内容
<job id="main">
<script language="JScript">
// ----- Do not change anything above this line ----- //
var template = "c:\\path\\to\\program -##PARAM## --start ##date1## --end ##date2## --output F:\\path\\to\\whereever\\ouput_file_##date1##.mdb";
// Handle dates
// first, figure out what they should be
dt = new Date();
var date1 = stringFromDate(dt, 1);
var date2 = stringFromDate(dt, 2);
// then insert …
Run Code Online (Sandbox Code Playgroud) 假设你有一个文件列表filelist.txt
并像这样调用rynsc:
$rsync --files-from=filelist.txt /path/to/source /path/to/destination
Run Code Online (Sandbox Code Playgroud)
Rsync filelist.txt
在处理文件之前对其进行排序.根据该man
页面,这是为了提高传输效率.
我怎么把它关掉?我有一个案例,我希望以非常特定的顺序传输文件,我不在乎它是否使传输效率降低.
我有一个逗号分隔文件"myfile.csv",其中第5列是日期/时间戳.(mm/dd/yyyy hh:mm).我需要列出包含重复日期的所有行(有很多)
我正在通过cygwin为WinXP使用bash shell
$ cut -d, -f 5 myfile.csv | sort | uniq -d
Run Code Online (Sandbox Code Playgroud)
正确返回重复日期的列表
01/01/2005 00:22
01/01/2005 00:37
[snip]
02/29/2009 23:54
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将这个提供给grep给我所有的行.显然,我不能xargs
直接使用,因为输出包含空格.我认为我可以这样做,uniq -z -d
但由于某种原因,组合这些标志会导致uniq(显然)没有返回任何内容.
所以,鉴于此
$ cut -d, -f 5 myfile.csv | sort | uniq -d -z | xargs -0 -I {} grep '{}' myfile.csv
Run Code Online (Sandbox Code Playgroud)
不起作用......我该怎么办?
我知道我可以做到这一点perl
或其他脚本语言......但我生性倔强坚持认为我应该能够做到这一点在bash
使用标准的命令行工具,如sort
,uniq
,find
,grep
,cut
,等.
教我,哦,打击大师.如何使用典型的cli工具获取所需的行列表?
如何检测打印机所在的端口(Ne01:,Ne02:,Ne99:等)?
BigCorp的计算机(WinXP)安装了Adobe Acrobat(版本7.0 Pro),它提供了一个名为"Adobe PDF"的虚拟打印机.如果在录制宏的同时将Excel(2003)工作簿打印为pdf,则打印机的全名为"Nexx上的Adobe PDF:",其中xx是两位数....并且根据您尝试使用的计算机而有所不同.
我已经使用Excel.Interop编写了一个C#控制台应用程序(我强烈反对其他任何人开始这条路走向地狱),这会打开一系列电子表格.它在每个中运行一个宏,保存,打印为pdf,然后将pdf移动到共享驱动器上的报告文件夹.
我面临的问题是,每次安装Acrobat似乎都会为PDF打印机选择一个随机端口号...我无法弄清楚如何获得它.
到目前为止,我已经尝试过像这样使用Win32_Printer类
var searcher = new ManagementObjectSearcher( @"SELECT * FROM Win32_Printer" );
foreach ( ManagementObject printer in searcher.Get() )
{
if ( Regex.IsMatch( printer["Name"].ToString(), @"(adobe|pdf)", RegexOptions.IgnoreCase ) )
{
//printer["Name"]; => "Adobe PDF"
//printer["PortName"] => "my documents/*.pdf"
foreach ( PropertyData pd in printer.Properties )
{
Console.WriteLine(string.Format("{0}, {1}", pd.Name, pd.Value));
}
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我还在System.Drawing.Printing类中探讨过.该PrinterSettings.InstalledPrinters会给你的打印机"的Adobe PDF"的名字,但我无法弄清楚如何获得端口信息.
如果我只将"Adobe PDF"传递给excel interop PrintOut()方法,它有时会工作,有时会因"文档无法打印"而失败......我无法弄清楚原因.
如果我使用适当的x值传递硬编码的"Nexx上的Adobe PDF:",它每次都有效.
如果我尝试所有可能的变化,Excel可以帮助打印到默认打印机.我没有更改默认打印机的选项(安全策略限制)
有人能指出我正确拉动打印机端口的代码吗?
给定一个文本文件(或unicode字符串),检测不在ascii编码之外的字符的好方法是什么?我可以很容易地迭代传递每个角色ord()
,但我想知道是否有更高效,优雅或惯用的方式来做到这一点.
这里的最终目标是编译无法编码为ascii的数据中的字符列表.
如果重要,我的语料库大小约为500MB/1200文本文件.在Win7(64位)上运行(预编译的vanilla)Python 3.3.1.
如何使用多个键列进行反向连接?
在这个婴儿玩具SqlServer示例中,我有以下内容
CREATE TABLE [dbo].[CarList](
[myID] [int] IDENTITY(1,1) NOT NULL,
[CarColour] [varchar](32) NOT NULL,
[CarName] [varchar](128) NOT NULL,
[CarCompany] [varchar](32) NOT NULL,
CONSTRAINT [PK_CarList] PRIMARY KEY CLUSTERED(
[myID] ASC,
[CarColour] ASC,
[CarName] ASC,
[CarCompany] ASC
)
)
GO
INSERT INTO CarList (CarColour, CarName, CarCompany)
VALUES('blue', 'Abe', 'Ford')
Run Code Online (Sandbox Code Playgroud)
在DB的其他地方我有一张像这样的桌子
CREATE TABLE [dbo].[NewCars](
[CarColour] [varchar](32) NOT NULL,
[CarName] [varchar](128) NOT NULL,
[CarCompany] [varchar](32) NOT NULL,
)
GO
INSERT INTO NewCars (CarColour, CarName, CarCompany)
SELECT 'blue', 'Abe', 'Ford'
UNION ALL
SELECT 'blue', 'Abe', …
Run Code Online (Sandbox Code Playgroud) 我有一个值列表,并想知道表中还没有哪些值.(这是在sql server 2000上)
考虑以下:
CREATE TABLE myTable ( foo VARCHAR(10) )
GO
INSERT INTO myTable
( foo
)
SELECT 'aaa'
UNION ALL SELECT 'bbb'
UNION ALL SELECT 'ccc'
GO
SELECT foo
FROM myTable
WHERE foo IN ( 'aaa', 'cat', 'bbb', 'dog' )
-- returns 'aaa' and 'bbb'
Run Code Online (Sandbox Code Playgroud)
我需要写一个返回'cat'和'dog'的查询.
SELECT foo
FROM myTable
WHERE foo ????? ( 'aaa', 'cat', 'bbb', 'dog' )
-- returns 'cat' and 'dog'
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法在查询中执行此操作?
由于应用程序与数据库交互的方式,我宁愿不创建临时表
c# ×2
cygwin ×2
scripting ×2
sql ×2
sql-server ×2
asp.net ×1
bash ×1
batch-file ×1
command-line ×1
emacs ×1
ergonomics ×1
ide ×1
interop ×1
jscript ×1
keyboard ×1
kml ×1
org-mode ×1
pdf ×1
perl ×1
printing ×1
python ×1
python-3.x ×1
rsync ×1
touch-typing ×1
typing ×1
unicode ×1
vbscript ×1
vim ×1
windows ×1
xemacs ×1