Criar um novo arquivo (.txt) no Finder - Atalho do teclado

24

Queria saber se há como definir atalhos de teclado para criar novos arquivos no Finder. Por exemplo, por padrão, você pode criar uma nova pasta usando CMD+ Shift+ N. Existe um atalho de teclado para criar um novo arquivo de texto? Eu sou um programador, então isso seria extremamente útil

Eu também estaria interessado em criar outro tipo de arquivo usando atalhos de teclado.

Eu tentei usar o automator, mas acho isso bastante confuso e não sei como conectar um atalho de teclado a ele.

Harry
fonte

Respostas:

21

Bem, aqui você vai com um AppleScript para isso.

Primeiro, crie o AppleScript:

  1. Open Automator
  2. Crie uma ação rápida
  3. Defina a entrada como nenhuma entrada
  4. Arraste e solte o elemento de fluxo de trabalho Executar AppleScript no espaço em cinza.
  5. Cole o código abaixo no AppleScript
  6. Salve o fluxo de trabalho como Criar novo arquivo
    Se você tiver o iCloud Drive ativado, certifique-se de salvar o arquivo Library/Services/em sua Pasta pessoal.

try
  tell application "Finder" to set the this_folder ¬
   to (folder of the front window) as alias
on error -- no open folder windows
  set the this_folder to path to desktop folder as alias
end try

set thefilename to text returned of (display dialog ¬
 "Create file named:" default answer "filename.txt")
set thefullpath to POSIX path of this_folder & thefilename
do shell script "touch \"" & thefullpath & "\""

Para adicioná-lo como um atalho:

  • Vá para Preferências do Sistema -> Teclado -> Atalhos -> Serviços
  • Role para baixo até encontrar o serviço Criar novo arquivo
  • Atribua um atalho clicando no lado direito nenhum , que se transforma em a Add Shortcut.
    Clique no botão e digite o atalho que você deseja usar.
    Eu uso ⌘ Command+ ⌥ Option+N
rwenz3l
fonte
2
Eu não entendo como definir a atalho para este script específico através da guia de serviços
Harry
Eu adicionei uma maneira mais detalhada de como adicionar esse script como um atalho.
Rwenz3l
Agora também deve funcionar com pastas vazias. Pelo menos funciona para mim. Você pode escrever seu arquivo de modelo dentro do script "filename.txt".
Rwenz3l
7
Por que eles não têm algo assim por padrão? Qual é o problema deles?
G.Rassovsky 7/15
11

Eu criei um AppleScript muito semelhante ao do @ YoshiBotX, mas com algumas melhorias.

A idéia é criar um fluxo de trabalho do Automator e atribuir um atalho a ele usando as seguintes etapas:

  • Abra o Automator e crie um Serviço ;
  • Defina a entrada como nenhuma entrada e o aplicativo como Finder.app ;
  • Arraste e solte o elemento de fluxo de trabalho Executar AppleScript no espaço em cinza;
  • Coloque o conteúdo deste AppleScript na caixa de texto;
  • Salve o fluxo de trabalho com um nome razoável (como Novo arquivo );
  • Vá para Configurações -> Teclado -> Atalhos -> Serviços e atribua um atalho para ele.

Agora, vamos mostrar o AppleScript:

set file_name to "untitled"
set file_ext to ".txt"
set is_desktop to false

-- get folder path and if we are in desktop (no folder opened)
try
    tell application "Finder"
        set this_folder to (folder of the front Finder window) as alias
    end tell
on error
    -- no open folder windows
    set this_folder to path to desktop folder as alias
    set is_desktop to true
end try

-- get the new file name (do not override an already existing file)
tell application "System Events"
    set file_list to get the name of every disk item of this_folder
end tell
set new_file to file_name & file_ext
set x to 1
repeat
    if new_file is in file_list then
        set new_file to file_name & " " & x & file_ext
        set x to x + 1
    else
        exit repeat
    end if
end repeat

-- create and select the new file
tell application "Finder"

    activate
    set the_file to make new file at folder this_folder with properties {name:new_file}
    if is_desktop is false then
        reveal the_file
    else
        select window of desktop
        set selection to the_file
        delay 0.1
    end if
end tell

-- press enter (rename)
tell application "System Events"
    tell process "Finder"
        keystroke return
    end tell
end tell

Por conveniência, estou colocando este AppleScript neste GitHub Gist .

Rarylson Freitas
fonte
1
Excelente roteiro, obrigado. A única coisa que eu adicionaria a este artigo para torná-lo mais completo é a informação instruindo os usuários mais novos do Automator que o script do fluxo de trabalho que eles criam deve ser salvo ~/Library/Services. (Meu padrão foi em iCloud Drive\Automatore ele me levou um pouco de pesquisa para descobrir onde guardá-lo para que ele iria aparecer em menos de Serviços de atalhos de teclado.)
Colin Johnston
3

Você pode criar um Serviço de Automator você mesmo - é bastante simples de fazer. Em seguida, você pode atribuir um atalho de teclado a ele para não precisar ativar o serviço através do menu de serviços (o que você pode fazer de qualquer maneira).

Abra o Automator e selecione Serviço como o tipo de novo documento.

Defina o serviço para não receber entrada no Finder.app e adicione a ação Novo documento do TextEdit ao fluxo de trabalho.

Workflow

Salve o serviço e abra Preferências do Sistema → Teclado → Atalhos → Serviços, onde você encontrará o serviço listado em Geral com o nome que você deu para o serviço quando o salvou.

Serviços

Adicione um atalho de teclado ao serviço, selecionando o serviço e clicando em 'adicionar atalho'.

Aqui você pode ter alguns problemas se o atalho já estiver sendo usado. Portanto, seja criativo para criar um que funcione para você.

Ruskes
fonte
3

Você também pode atribuir um atalho para um script como este:

tell application "Finder"
    set selection to make new file at (get insertion location)
end tell

O local da inserção é o destino da janela do Finder mais à frente ou a área de trabalho.

Lri
fonte
Seu código é tão simples e útil! Eu uso o Automator para criar um Aplicativo, que existe apenas uma ação: Execute o AppleScript com o seu código. Então eu coloquei este aplicativo na barra de título do Finder. Isso está ok. quando preciso, basta clicar e um novo arquivo será criado na pasta atual.
fantouch
2

terminal aberto e tipo

touch filename

ou

> filename
shotsleeves
fonte
você me perdeu aqui? o que isso faz?
Ruskes 5/05
3
Você poderia expandir como adicionaria um atalho de teclado a este comando? (@Buscar See touch )
grg
1
bem se você tiver PathFinder - que é realmente uma ótima opção; D
rwenz3l
Isso funciona muito bem com o cmd2shell. Sem atalho, basta clicar no botão cmd2shell no localizador e digite o comando touch.
eflat 6/03/2015
Eu estava procurando por algo mais compatível com o Finder no OSX.
Harry
0

Esta é uma repostagem de um post que fiz no ano passado. Eu tive uma boa experiência com o seguinte.

Existem dois utilitários úteis que você pode baixar e instalar que permitirão criar um novo arquivo de texto (ou arquivo RTF) em uma pasta atualmente aberta que você está visualizando usando o Finder.

Os utilitários são chamados NewTextFileHere e NewRTFHere e podem ser baixados em

http://mac.softpedia.com/developer/Jonas-Wisser-37498.html

Os ícones de qualquer um desses aplicativos podem ser incluídos em todas as janelas do Finder.

Richard Fuhr
fonte
0

Como alternativa, se você já possui o BetterTouchTools (costumava ser um aplicativo gratuito, agora possui um modelo de pagamento com o que você quer com um período de avaliação de 30 dias), você pode encontrar a ação na "Utility Actions > Create New File in Current Folder"qual faz exatamente isso, com um pop-up para permitir que você escolha o nome. Atribua o atalho desejado (escolhi Option + Shift + N) e você estará pronto.

Zequez
fonte
0

Caso você esteja usando o MacVim, existe uma opção Finder -> Servicespara criar um novo buffer vim:

insira a descrição da imagem aqui

Eu mapeei isso para o atalho ShiftcmdMem System Preferences -> Keyboard -> Shortcuts:

insira a descrição da imagem aqui

tidbeck
fonte